[python] 파이썬을 사용한 이미지 압축 및 해제 기법

이미지는 많은 저장 공간을 차지하므로, 압축과 해제는 중요한 작업입니다. 파이썬을 사용하면 이미지를 압축하고 해제하는 간단하고 효율적인 방법을 구현할 수 있습니다. 이번 포스트에서는 이미지를 압축하고 해제하는 방법을 알아보겠습니다.

이미지 압축

이미지를 압축하는 방법은 다양한 알고리즘을 사용할 수 있지만, 가장 널리 사용되는 알고리즘은 PIL (Python Imaging Library) 라이브러리의 JPEG 압축입니다. 이 알고리즘을 사용하면 이미지의 용량을 효과적으로 줄일 수 있습니다.

다음은 파이썬에서 이미지를 압축하는 예제 코드입니다:

from PIL import Image

def compress_image(input_image, output_image, quality):
    image = Image.open(input_image)
    image.save(output_image, optimize=True, quality=quality)

input_image = "input.jpg"
output_image = "compressed.jpg"
quality = 50

compress_image(input_image, output_image, quality)

위의 코드에서 compress_image 함수는 input_image로 지정된 이미지를 quality로 지정된 품질로 압축한 후 output_image로 저장합니다. 압축 품질은 1에서 100 사이의 값으로 지정할 수 있으며, 값이 높을수록 품질이 높아지고 용량이 커집니다.

이미지 해제

압축된 이미지를 해제하는 방법은 간단합니다. PIL 라이브러리의 Image 모듈을 사용하여 이미지를 열고 저장하는 것만으로 이미지를 해제할 수 있습니다.

다음은 파이썬에서 이미지를 해제하는 예제 코드입니다:

from PIL import Image

def decompress_image(compressed_image, output_image):
    image = Image.open(compressed_image)
    image.save(output_image)

compressed_image = "compressed.jpg"
output_image = "decompressed.jpg"

decompress_image(compressed_image, output_image)

위의 코드에서 decompress_image 함수는 compressed_image로 지정된 압축된 이미지를 열고 output_image로 저장합니다.

결론

파이썬을 사용하여 이미지를 압축하고 해제하는 기법을 알아보았습니다. PIL 라이브러리의 JPEG 압축 알고리즘을 사용하면 이미지의 용량을 효과적으로 줄일 수 있습니다. 이미지 처리에 대해 더 알아보고 싶다면 PIL 라이브러리의 다른 기능들도 살펴보시기 바랍니다.

참고 자료