이미지를 미러링해도 이미지의 모양은 변경되지 않습니다. 이미지 미러링 변환에는 수평 미러링, 수직 미러링, 대각선 미러링의 세 가지 유형이 있습니다
이미지의 크기가 M×N이라고 가정하면
수평 미러링은 크기에 따라 수행될 수 있습니다. 공식
I = i
J = N - j + 1
수직 미러링은 공식
I = M - i +에 따라 계산할 수 있습니다. 1
J = j
대각선 대칭은 다음 공식에 따라 계산할 수 있습니다.
I = M - i + 1
J = N - j + 1
OpenCV에서 중간 좌표는 [0,0]부터 시작한다는 점에 주목할 가치가 있습니다.
따라서 일 때 수식의 +1을 -1로 변경해야 합니다. 프로그래밍
여기의 실행 환경은 다음과 같습니다.
Python은: Python2.7.6
OpenCV2.4.10 버전
numpy는: numpy-1.9 .1-win32-superpack-python2.7
아래 코드는 여전히 아기 사진을 예로 들어 구체적인 절차는 다음과 같습니다.
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)
위 내용은 Python의 미러 구현 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!