Найдите скользящее окно размером 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. цент - это центральный пиксель.

Есть ли более эффективный способ сделать это - то есть использовать карты, итераторы - что-нибудь кроме двух вложенных циклов, которые я использовал?

Ответы на вопрос(3)

Ваш ответ на вопрос