¿Ventana deslizante usando la función as_strided en numpy?

A medida que implemento una ventana deslizante usando python para detectar objetos en imágenes fijas, conozco la buena función:

numpy.lib.stride_tricks.as_strided

Así que traté de lograr una regla general para evitar errores en los que puedo fallar al cambiar el tamaño de las ventanas deslizantes que necesito. Finalmente obtuve esta representación:

all_windows = as_strided(x,((x.shape[0] - xsize)/xstep ,(x.shape[1] - ysize)/ystep ,xsize,ysize), (x.strides[0]*xstep,x.strides[1]*ystep,x.strides[0],x.strides[1])

que da como resultado una matriz de 4 dim. Los dos primeros representan el número de ventanas en los ejes xey de la imagen. y los otros representan el tamaño de la ventana (xsize, ysize)

y elstep representa el desplazamiento entre dos ventanas consecutivas.

Esta representación funciona bien si elijo una ventana deslizante cuadrada. pero todavía tengo un problema para hacer que esto funcione para Windows de e.x. (128,64), donde generalmente obtengo datos no relacionados con la imagen.

Qué está mal mi código. ¿Algunas ideas? y si hay una mejor manera de hacer que las ventanas deslizantes sean agradables y ordenadas en Python para el procesamiento de imágenes?

Gracia

Respuestas a la pregunta(3)

Su respuesta a la pregunta