[python] OpenCV로 이미지 크기 조정하기

이미지 처리를 위해 OpenCV를 사용하는 경우, 때로는 이미지의 크기를 조정해야하는 경우가 있습니다. 이미지 크기 조정은 여러 가지 목적을 가질 수 있으며, 예를 들어 이미지를 표시하거나 저장하기 전에 크기를 맞추는 등의 작업에 유용합니다.

이 블로그 포스트에서는 Python의 OpenCV 라이브러리를 사용하여 이미지 크기를 조정하는 방법을 알아보겠습니다.

이미지 크기 조정하기

OpenCV에서는 cv2.resize 함수를 사용하여 이미지의 크기를 조정할 수 있습니다. 이 함수는 원본 이미지와 목표 크기를 인자로 받아서, 크기가 조정된 이미지를 반환합니다.

아래는 cv2.resize 함수를 사용하여 이미지 크기를 조정하는 예제 코드입니다.

import cv2

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

# 원하는 크기로 이미지 조정
resized_image = cv2.resize(image, (800, 600))

# 조정된 이미지 저장
cv2.imwrite('resized_image.jpg', resized_image)

위의 예제 코드에서는 cv2.resize 함수를 사용하여 이미지를 800x600 크기로 조정한 후, 조정된 이미지를 resized_image.jpg로 저장합니다.

이미지 비율 유지하기

이미지 크기를 조정할 때 중요한 점은 이미지의 비율을 유지해야 한다는 것입니다. 즉, 이미지를 가로 또는 세로로만 조정하는 대신, 가로와 세로를 동시에 조정하여 원본 이미지의 비율을 유지해야 합니다.

아래는 이미지 비율을 유지하면서 이미지를 조정하는 예제 코드입니다.

import cv2

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

# 원하는 가로 길이
desired_width = 800

# 원본 이미지의 가로와 세로 길이 구하기
height, width, _ = image.shape

# 비율 계산
aspect_ratio = desired_width / width
desired_height = int(height * aspect_ratio)

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

# 조정된 이미지 저장
cv2.imwrite('resized_image.jpg', resized_image)

위의 예제 코드에서는 원하는 가로 길이인 desired_width를 설정한 후, 이미지 크기를 조정합니다. 원본 이미지의 가로와 세로 길이를 구하고, 비율을 계산하여 이미지를 조정합니다. 그리고 조정된 이미지를 resized_image.jpg로 저장합니다.

결론

이번 포스트에서는 OpenCV를 사용하여 이미지 크기를 조정하는 방법을 알아보았습니다. OpenCV의 cv2.resize 함수를 사용하여 이미지를 원하는 크기로 조정할 수 있으며, 이미지의 비율을 유지하는 것이 중요하다는 것을 알게 되었습니다.

이미지 크기 조정은 이미지 처리 애플리케이션에서 중요한 작업 중 하나이므로, 다양한 목적에 맞게 올바르게 크기를 조정할 수 있어야 합니다. OpenCV를 활용하여 이미지 크기를 조정하는 기능에 익숙해지면 다양한 이미지 처리 작업에서 유용하게 사용할 수 있을 것입니다.

참고 자료