[파이썬] opencv-python 이미지의 기하학적 변형

이미지 처리는 컴퓨터 비전에서 중요한 부분이며, 기하학적 변형은 이미지의 크기, 위치 및 방향을 변경하는 데 사용됩니다. OpenCV-Python은 이미지를 처리하고 기하학적 변형을 수행하는 강력한 도구입니다.

이 블로그 포스트에서는 OpenCV-Python을 사용하여 이미지를 확대, 축소, 회전 및 이동하는 방법에 대해 알아보겠습니다.

환경 설정

먼저 OpenCV-Python을 설치해야 합니다. pip을 사용하여 다음 명령을 실행하여 설치할 수 있습니다.

pip install opencv-python

또한 이미지를 불러오기 위해 numpy 패키지가 필요합니다. 다음 명령으로 설치할 수 있습니다.

pip install numpy

이미지 불러오기

이미지 변형을 적용하기 전에 먼저 이미지를 불러와야 합니다. 다음 코드는 OpenCV-Python을 사용하여 이미지를 불러오는 예시입니다.

import cv2

# 이미지 파일 경로
image_path = 'path/to/your/image.jpg'

# 이미지 불러오기
image = cv2.imread(image_path)

이미지 확대 및 축소

이미지의 크기를 조절하는 것은 이미지 변형의 가장 기본적인 부분입니다. OpenCV-Python을 사용하여 이미지를 확대 및 축소하는 방법은 다음과 같습니다.

import cv2

# 이미지 파일 경로
image_path = 'path/to/your/image.jpg'

# 이미지 불러오기
image = cv2.imread(image_path)

# 이미지 크기 조정
resized_image = cv2.resize(image, (new_width, new_height))

위의 코드에서 new_widthnew_height는 원하는 새로운 이미지의 가로 및 세로 크기를 나타냅니다.

이미지 회전

이미지를 회전시키는 것은 많은 컴퓨터 비전 애플리케이션에서 필수적입니다. OpenCV-Python을 사용하여 이미지를 회전시키는 방법은 다음과 같습니다.

import cv2

# 이미지 파일 경로
image_path = 'path/to/your/image.jpg'

# 이미지 불러오기
image = cv2.imread(image_path)

# 이미지 회전
rotated_image = cv2.rotate(image, cv2.ROTATE_90_CLOCKWISE)

위의 코드에서 cv2.ROTATE_90_CLOCKWISE는 시계 방향으로 90도 회전하는 것을 나타냅니다. 다른 회전 각도와 방향을 사용하려면 rotate() 함수의 두 번째 매개변수를 조정하면 됩니다.

이미지 이동

이미지를 이동시키는 것은 이미지의 위치를 변경하는 데 사용됩니다. OpenCV-Python을 사용하여 이미지를 이동시키는 방법은 다음과 같습니다.

import cv2

# 이미지 파일 경로
image_path = 'path/to/your/image.jpg'

# 이미지 불러오기
image = cv2.imread(image_path)

# 이미지 이동
x_offset = 100  # 가로 방향 이동량
y_offset = 50   # 세로 방향 이동량

rows, cols = image.shape[:2]
M = np.float32([[1, 0, x_offset], [0, 1, y_offset]])
translated_image = cv2.warpAffine(image, M, (cols, rows))

위의 코드에서 x_offsety_offset는 가로 및 세로 이동량을 조절합니다. warpAffine() 함수는 변환 행렬 M을 사용하여 이미지를 이동시킵니다.

결론

OpenCV-Python을 사용하여 이미지의 기하학적 변형을 수행하는 방법을 알아보았습니다. 이미지 확대, 축소, 회전 및 이동은 이미지 처리에서 매우 중요한 작업이며, OpenCV-Python을 사용하면 이러한 작업을 간단하게 수행할 수 있습니다.

더 자세한 정보와 다른 기능에 대한 예시는 OpenCV-Python 문서를 참조하십시오.

Happy coding!