[python] OpenCV를 사용하여 이미지 회전하기

이미지 처리에 많이 사용되는 OpenCV는 다양한 기능을 제공합니다. 그 중 하나는 이미지 회전입니다. 이미지를 회전시키면서 이미지의 방향을 변경하거나 특정 객체를 감지하는 등의 작업을 할 수 있습니다.

Python에서 OpenCV를 사용하여 이미지를 회전시키는 방법을 알아보겠습니다.

OpenCV 설치하기

먼저, OpenCV를 설치해야 합니다. 아래의 명령어를 사용하여 OpenCV를 설치할 수 있습니다.

pip install opencv-python

이미지 회전 함수 사용하기

OpenCV에서는 getRotationMatrix2D 함수를 사용하여 이미지를 회전시킬 수 있습니다. 이 함수는 회전 각도와 이미지의 중심점을 입력으로 받아 회전 변환 행렬을 생성합니다. 그 후에 warpAffine 함수를 사용하여 이미지를 회전시킵니다.

아래의 예제 코드를 통해 이미지를 90도 시계 방향으로 회전하는 방법을 확인해보세요.

import cv2
import numpy as np

# 이미지 로드
image = cv2.imread('image.jpg')

# 이미지 회전
height, width = image.shape[:2]
center = (width // 2, height // 2)
angle = 90
scale = 1.0
rotation_matrix = cv2.getRotationMatrix2D(center, angle, scale)
rotated_image = cv2.warpAffine(image, rotation_matrix, (width, height))

# 이미지 출력
cv2.imshow('Original Image', image)
cv2.imshow('Rotated Image', rotated_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

위의 코드에서 image.jpg는 회전시킬 이미지 파일의 경로입니다. 회전각은 angle 변수에서 조정할 수 있습니다.

결과 확인하기

위의 코드를 실행하면, 원본 이미지와 90도로 회전된 이미지가 차례로 출력됩니다. OpenCV의 imshow 함수를 사용하여 이미지를 출력하고, waitKey 함수로 키보드 입력을 대기합니다. 마지막으로 destroyAllWindows 함수를 사용하여 창을 닫습니다.

이제 OpenCV의 getRotationMatrix2D 함수와 warpAffine 함수를 사용하여 이미지를 회전시킬 수 있는 방법을 알았습니다. 이를 응용하여 다양한 이미지 처리 작업에 사용할 수 있습니다.

더 자세한 내용은 OpenCV 공식 문서를 참고하시기 바랍니다.