Maison >développement back-end >Tutoriel Python >Méthode d'implémentation miroir en python

Méthode d'implémentation miroir en python

PHPz
PHPzoriginal
2017-04-02 13:50:075526parcourir

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)

Méthode dimplémentation miroir en python

.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn