La mise en miroir d'une image ne modifie pas la forme de l'image. Il existe trois types de transformations de mise en miroir d'image : la mise en miroir horizontale, la mise en miroir verticale et la mise en miroir diagonale
Supposons que la taille de l'image soit M×N, alors
la mise en miroir horizontale peut être effectuée en fonction de la formule
I = i
J = N - j + 1
La mise en miroir verticale peut être calculée selon la formule
I = M - i + 1
J = j
La mise en miroir diagonale peut être calculée selon la formule
I = M - i + 1
J = N - j + 1
Il convient de noter que dans OpenCV La coordonnée médiane commence à partir de [0,0]
Ainsi, le +1 dans la formule doit être changé en -1 lorsque programmation
L'environnement d'exécution ici est :
Python est : Python2.7.6
version OpenCV2.4.10
numpy est : numpy-1.9 .1-win32-superpack-python2.7
ci-dessous Le code prend toujours des photos de bébé comme exemple. La procédure spécifique est la suivante :
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)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!