Python OpenCV 강좌 : 제 6강 - 회전

   

회전 (Rotate)


1 영상이나 이미지를 회전시켜 띄울 수 있습니다. 90°, 45°, -45° 등 다양한 각도로 회전이 가능합니다.



Main Code


import cv2

src = cv2.imread("Image/ara.jpg", cv2.IMREAD_COLOR)

height, width, channel = src.shape
matrix = cv2.getRotationMatrix2D((width/2, height/2), 90, 1)
dst = cv2.warpAffine(src, matrix, (width, height))

cv2.imshow("src", src)
cv2.imshow("dst", dst)
cv2.waitKey(0)
cv2.destroyAllWindows()



Detailed Code


src = cv2.imread("Image/ara.jpg", cv2.IMREAD_COLOR)

원본 이미지로 사용할 src를 선언하고 이미지를 불러옵니다.



height, width, channel = src.shape

height, width, channel = src.shape를 이용하여 해당 이미지의 높이, 너비, 채널의 값을 저장합니다.

높이너비를 이용하여 회전 중심점을 설정합니다.



matrix = cv2.getRotationMatrix2D((width/2, height/2), 90, 1)

matrix회전 배열을 생성하여 저장합니다.

cv2.getRotationMatrix2D((중심점 X좌표, 중심점 Y좌표), 각도, 스케일)을 설정합니다.

중심점Tuple형태로 사용하며 회전할 기준점을 설정합니다.

각도회전할 각도를 설정합니다.

스케일은 이미지의 확대 비율을 설정합니다.



dst = cv2.warpAffine(src, matrix, (width, height))

결과 이미지로 사용할 dst를 선언하고 회전 함수를 적용합니다.

cv2.warpAffine(원본 이미지, 배열, (결과 이미지 너비, 결과 이미지 높이))을 의미합니다.

결과 이미지의 너비와 높이로 크기가 선언되며 배열에 따라 이미지가 회전합니다.



Additional Information


matrixnumpy형식으로 선언하여 warpAffine을 적용하여 변환할 수 있습니다.



Result


2



도움이 되셨다면 광고 클릭 부탁드립니다.

⤧  Next post Python OpenCV 강좌 : 제 7강 - 확대 & 축소 ⤧  Previous post Python OpenCV 강좌 : 제 5강 - 대칭