Suchen Sie ein 3x3-Schiebefenster über einem Bild
Ich habe ein Bild.
Ich möchte für jedes Pixel im Bild ein 3x3-Fenster (benachbarte Pixel) erhalten.
Ich habe diesen Python-Code:
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 ist das 3x3 Fenster. cent ist das zentrale Pixel.
Gibt es eine effizientere Möglichkeit, dies zu tun - d. H. Mithilfe von Maps und Iteratoren -, als die zwei verschachtelten Schleifen, die ich verwendet habe?