скользящее окно поиска без использования цикла for в python - PullRequest
0 голосов
/ 10 октября 2018

Я пытаюсь создать алгоритм поиска слайдов в python.Я пытаюсь проиндексировать изображение, перебирая координаты.Пожалуйста, проверьте код ниже.Здесь я использую 2 FOR LOOPS (это занимает много времени).Я хочу реализовать его, который будет вычисляться очень быстро.Есть ли лучший способ векторизации для быстрой реализации?

width,height,depth = img.shape
wind_size = 64
xx = np.arange(0,width,wind_size)
yy = np.arange(0,height,wind_size)
for i in xx[:-1]:
    for j in yy[:-1]:
        img_w = img[i:i+wind_size,j:j+wind_size,:]
        img_w = cv2.cvtColor(img_w,cv2.COLOR_BGR2RGB)
        img_lst1.append(img_w/255.0) 

1 Ответ

0 голосов
/ 10 октября 2018

Используйте window_nd из здесь , и просто сделайте

window_nd(image, window = 64, steps = 64, axis = (0, 1))

При этом np.stride_tricks.as_strided используется для создания окон в виде представлений к исходному изображению.

Также вы можете использовать skimage.util.shape.view_as_blocks

skimage.util.shape.view_as_blocks(image, (64, 64, 3))
...