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

OpenCV pyrUp() 함수로 이미지 업샘플링하기

이번 튜토리얼에서는 OpenCV를 사용하여 이미지를 업샘플링(Upsampling)하는 방법을 알아보겠습니다.

이미지 업샘플링이란?

업샘플링은 이미지의 2차원 표현 구조를 유지하면서 공간적 해상도(spatial resolution)를 높이는 기술입니다. 주로 이미지의 작은 영역을 확대(zoom in)해서 자세히 살펴봐야 할 때 활용됩니다. OpenCV 라이브러리에서는 pyrUp() 함수를 통해 간단하게 업샘플링을 수행할 수 있습니다.

원본 이미지

OpenCV pyrUp() 함수로 이미지 업샘플링하기

알고리즘

1단계: 이미지를 불러옵니다.
2단계: 이미지를 pyrup() 함수의 매개변수로 전달합니다.
3단계: 결과 이미지를 화면에 출력합니다.

예제 코드

import cv2

image = cv2.imread('testimage.jpg')
print("pyrUp 적용 전 이미지 크기: ", image.shape)

image = cv2.pyrUp(image)
print("pyrUp 적용 후 이미지 크기: ", image.shape)
cv2.imshow('UpSample', image)

실행 결과

pyrUp 적용 전 이미지 크기: (350, 700, 3)
pyrUp 적용 후 이미지 크기: (700, 1400, 3)

OpenCV pyrUp() 함수로 이미지 업샘플링하기

코드 설명

위 코드는 다음과 같이 동작합니다.

먼저 cv2.imread()로 'testimage.jpg' 파일을 읽어옵니다. 이때 image.shape를 출력하면 원본 이미지의 크기를 확인할 수 있습니다. 그다음 cv2.pyrUp() 함수에 이미지를 전달하면 가로·세로 크기가 각각 2배씩 늘어난 새로운 이미지가 반환됩니다.

실행 결과를 보면 이미지 크기가 (350, 700)에서 (700, 1400)으로 증가한 것을 확인할 수 있습니다. 즉, 픽셀 수가 4배가 되면서 이미지가 성공적으로 업샘플링되었습니다.

참고 사항

pyrUp()은 가우시안 피라미드(Gaussian Pyramid) 개념에 기반한 함수로, 단순한 보간 방식보다 더 부드러운 확대 결과를 제공합니다. 반대로 이미지를 축소할 때는 pyrDown() 함수를 사용할 수 있으며, 두 함수를 함께 활용하면 이미지 피라미드를 쉽게 구성할 수 있습니다.