[파이썬] 이미지 슈퍼 해상도 증가

이미지 해상도는 이미지의 세부 정보와 고해상도 표현 능력을 결정합니다. 낮은 해상도 이미지는 이미지의 세부 정보가 제한되어 품질이 저하될 수 있습니다. 하지만 Python과 몇 가지 패키지를 사용하여 이미지의 해상도를 증가시킬 수 있습니다.

Pillow를 사용한 이미지 처리

Pillow는 Python 이미지 처리 라이브러리로서, 이미지 조작, 변경 및 처리 작업에 널리 사용됩니다. 이미지를 처리하기 위해 Pillow를 설치해야 합니다. 아래의 명령어로 Pillow를 설치합니다.

pip install pillow

이제 Pillow를 사용하여 이미지의 해상도를 증가시키는 방법을 알아보겠습니다. 아래의 예제 코드는 이미지를 불러오고, resize() 메서드를 사용하여 이미지의 가로와 세로 크기를 증가시킵니다.

from PIL import Image

# 이미지 불러오기
image = Image.open('input.jpg')

# 이미지 크기 증가
width, height = image.size
new_width = width * 2
new_height = height * 2
resized_image = image.resize((new_width, new_height))

# 증가된 해상도 이미지 저장
resized_image.save('output.jpg')

위의 코드에서 input.jpg는 원본 이미지 파일의 경로이며, output.jpg는 증가된 해상도 이미지를 저장할 파일의 경로입니다. resize() 메서드에 원하는 크기를 전달하여 이미지의 가로와 세로 크기를 조정할 수 있습니다.

OpenCV를 사용한 이미지 업스케일링

OpenCV는 이미지 처리와 컴퓨터 비전을 위한 강력한 오픈소스 라이브러리입니다. OpenCV를 설치하려면 아래의 명령어를 실행합니다.

pip install opencv-python

아래의 예제 코드는 OpenCV를 사용하여 이미지의 해상도를 증가시키는 방법을 보여줍니다.

import cv2

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

# 이미지 크기 증가
scale_percent = 200  # 2배로 증가
width = int(image.shape[1] * scale_percent / 100)
height = int(image.shape[0] * scale_percent / 100)
resized_image = cv2.resize(image, (width, height))

# 증가된 해상도 이미지 저장
cv2.imwrite('output.jpg', resized_image)

위의 코드에서도 input.jpg는 원본 이미지 파일의 경로이며, output.jpg는 증가된 해상도 이미지를 저장할 파일의 경로입니다. resize() 함수에 이미지 크기를 조정하기 위한 비율을 전달할 수 있습니다. 이 예제에서는 2배로 이미지 크기를 증가시켰습니다.

이제 여러분은 Python을 사용하여 이미지의 슈퍼 해상도를 증가시키는 방법을 알게 되었습니다. Pillow와 OpenCV는 각각 이미지 처리 작업 및 컴퓨터 비전 작업을 위해 다양한 기능을 제공하기 때문에, 다른 이미지 관련 작업에도 활용할 수 있습니다.