[python] 이미지 변환과 기하학적 변환

이미지 처리는 주어진 이미지를 다양한 방식으로 변환하는 작업을 말합니다. 이 중에서도 기하학적 변환은 이미지를 회전, 크기 조정, 이동 및 왜곡하는 등의 작업을 수행할 수 있도록 합니다.

이번에는 Python에서 이미지 변환과 기하학적 변환을 수행하는 방법에 대해 알아보겠습니다.

이미지 변환

Python에서 이미지 변환은 Pillow 패키지를 사용하여 수행할 수 있습니다. Pillow는 이미지 처리를 위한 강력한 라이브러리이며, 이미지의 해상도, 크기, 컬러 밸런스 등을 조정할 수 있습니다.

from PIL import Image

# 이미지 열기
image = Image.open('input.png')

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

# 이미지 저장
resized_image.save('output.png')

위 코드에서 Image.open() 함수를 사용하여 이미지를 열고, resize() 함수를 사용하여 이미지의 크기를 조정할 수 있습니다. 마지막으로 save() 함수를 사용하여 변환된 이미지를 저장할 수 있습니다.

기하학적 변환

기하학적 변환은 이미지를 회전, 이동, 크기 조정 및 왜곡하는 등의 작업을 가능하게 합니다. Python에서 기하학적 변환을 수행하기 위해서는 OpenCV 패키지를 사용할 수 있습니다.

import cv2
import numpy as np

# 이미지 열기
image = cv2.imread('input.png')

# 이미지 크기 가져오기
height, width = image.shape[:2]

# 회전 변환
angle = 45
M = cv2.getRotationMatrix2D((width/2, height/2), angle, 1)
rotated_image = cv2.warpAffine(image, M, (width, height))

# 이미지 저장
cv2.imwrite('output.png', rotated_image)

위 코드에서 cv2.imread() 함수를 사용하여 이미지를 열고, cv2.getRotationMatrix2D() 함수를 사용하여 회전 변환 행렬을 구합니다. cv2.warpAffine() 함수를 사용하여 이미지를 변환한 후, cv2.imwrite() 함수를 사용하여 변환된 이미지를 저장할 수 있습니다.


이미지 변환과 기하학적 변환은 Python을 사용하여 간단하게 수행할 수 있습니다. Pillow와 OpenCV 같은 이미지 처리 라이브러리를 활용하여 다양한 이미지 처리 작업을 수행할 수 있으며, 이를 통해 다양한 디지털 이미지 애플리케이션을 개발할 수 있습니다.