Найдите скользящее окно размером 3х3 над изображением
У меня есть изображение.
Я хочу получить окно 3х3 (соседние пиксели) для каждого пикселя изображения.
У меня есть этот код Python:
for x in range(2,r-1,1):
for y in range(2,c-1,1):
mask5=numpy.array([cv.Get2D(copy_img,x-1,y-1),cv.Get2D(copy_img,x-1,y),cv.Get2D(copy_img,x-1,y+1),cv.Get2D(copy_img,x,y-1),cv.Get2D(copy_img,x,y),cv.Get2D(copy_img,x,y+1),cv.Get2D(copy_img,x+1,y-1),cv.Get2D(copy_img,x+1,y),cv.Get2D(copy_img,x+1,y+1)])
cent=[cv.Get2D(copy_img,x,y)]
mask5 - окно 3х3. цент - это центральный пиксель.
Есть ли более эффективный способ сделать это - то есть использовать карты, итераторы - что-нибудь кроме двух вложенных циклов, которые я использовал?