이번 튜토리얼에서는 OpenCV를 사용하여 이미지를 업샘플링(Upsampling)하는 방법을 알아보겠습니다.
이미지 업샘플링이란?
업샘플링은 이미지의 2차원 표현 구조를 유지하면서 공간적 해상도(spatial resolution)를 높이는 기술입니다. 주로 이미지의 작은 영역을 확대(zoom in)해서 자세히 살펴봐야 할 때 활용됩니다. 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)

코드 설명
위 코드는 다음과 같이 동작합니다.
먼저 cv2.imread()로 'testimage.jpg' 파일을 읽어옵니다. 이때 image.shape를 출력하면 원본 이미지의 크기를 확인할 수 있습니다. 그다음 cv2.pyrUp() 함수에 이미지를 전달하면 가로·세로 크기가 각각 2배씩 늘어난 새로운 이미지가 반환됩니다.
실행 결과를 보면 이미지 크기가 (350, 700)에서 (700, 1400)으로 증가한 것을 확인할 수 있습니다. 즉, 픽셀 수가 4배가 되면서 이미지가 성공적으로 업샘플링되었습니다.
참고 사항
pyrUp()은 가우시안 피라미드(Gaussian Pyramid) 개념에 기반한 함수로, 단순한 보간 방식보다 더 부드러운 확대 결과를 제공합니다. 반대로 이미지를 축소할 때는 pyrDown() 함수를 사용할 수 있으며, 두 함수를 함께 활용하면 이미지 피라미드를 쉽게 구성할 수 있습니다.