Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

OpenCV pyrDown()으로 이미지 다운샘플링하기


이번 프로그램에서는 OpenCV를 사용해 이미지를 다운샘플링(down sampling)하는 방법을 알아보겠습니다. 다운샘플링은 이미지의 2차원 표현 구조는 그대로 유지하면서 공간적 해상도를 낮추는 기법으로, 주로 이미지를 축소(zoom out)할 때 활용됩니다. OpenCV 라이브러리에서 제공하는 pyrDown() 함수를 사용하면 이 작업을 매우 간단하게 수행할 수 있습니다.

원본 이미지

OpenCV pyrDown()으로 이미지 다운샘플링하기

알고리즘

1단계: 이미지를 불러옵니다.
2단계: 불러온 이미지를 pyrDown() 함수의 인자로 전달합니다.
3단계: 처리된 결과 이미지를 화면에 표시합니다.

예제 코드

import cv2

image = cv2.imread('testimage.jpg')
print("Size of image before pyrDown: ", image.shape)

image = cv2.pyrDown(image)
print("Size of image after pyrDown: ", image.shape)
cv2.imshow('DownSample', image)
cv2.waitKey(0)
cv2.destroyAllWindows()

실행 결과

Size of image before pyrDown:  (350, 700, 3)
Size of image after pyrDown:  (175, 350, 3)

OpenCV pyrDown()으로 이미지 다운샘플링하기

코드 설명

먼저 cv2.imread()로 이미지를 불러온 뒤, shape 속성으로 원본 이미지의 크기를 확인합니다. 이 예제에서는 세로 350픽셀, 가로 700픽셀, 채널 3개(RGB)인 이미지입니다.

이후 cv2.pyrDown() 함수에 이미지를 전달하면 가우시안 블러링과 함께 가로·세로 크기가 각각 절반으로 줄어든 새로운 이미지가 반환됩니다. 실행 결과를 보면 크기가 (350, 700, 3)에서 (175, 350, 3)으로 감소한 것을 확인할 수 있으며, 이는 이미지가 성공적으로 다운샘플링되었음을 의미합니다.

마지막으로 cv2.imshow()로 결과 창을 띄우고, cv2.waitKey(0)cv2.destroyAllWindows()를 호출하여 키 입력 시 창이 정상적으로 닫히도록 처리했습니다.