Das Spiegeln eines Bildes verändert nicht die Form des Bildes. Es gibt drei Arten von Bildspiegelungstransformationen: horizontale Spiegelung, vertikale Spiegelung und diagonale Spiegelung
Angenommen, die Größe des Bildes beträgt M×N, dann
kann die horizontale Spiegelung entsprechend durchgeführt werden Formel
I = i
J = N - j + 1
Vertikale Spiegelung kann nach der Formel
I = M - i + berechnet werden 1
J = j
Diagonale Spiegelung kann nach der Formel
I = M - i + 1
J = N - j + berechnet werden 1
Es ist erwähnenswert, dass in OpenCV die mittlere Koordinate bei [0,0] beginnt
Also muss +1 in der Formel in -1 geändert werden, wenn Programmierung
Die laufende Umgebung hier ist:
Python ist: Python2.7.6
OpenCV2.4.10-Version
numpy ist: numpy-1.9 .1-win32-superpack-python2.7
unten Der Code verwendet weiterhin Babybilder als Beispiel. Die spezifische Vorgehensweise ist wie folgt:
import cv2.cv as cv image = cv.LoadImage('angelababy.jpg',1) size = (image.width,image.height) iUD = cv.CreateImage(size,image.depth,image.nChannels) iLR = cv.CreateImage(size,image.depth,image.nChannels) iAcross = cv.CreateImage(size,image.depth,image.nChannels) h = image.height w = image.width for i in range(h): for j in range(w): iUD[h-1-i,j] = image[i,j] iLR[i,w-1-j] = image[i,j] iAcross[h-1-i,w-1-j] = image[i,j] cv.ShowImage('image',image) cv.ShowImage('iUD',iUD) cv.ShowImage('iLR',iLR) cv.ShowImage('iAcross',iAcross) cv.WaitKey(0)
Das obige ist der detaillierte Inhalt vonSpiegelimplementierungsmethode in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!