이미지는 많은 저장 공간을 차지하므로, 압축과 해제는 중요한 작업입니다. 파이썬을 사용하면 이미지를 압축하고 해제하는 간단하고 효율적인 방법을 구현할 수 있습니다. 이번 포스트에서는 이미지를 압축하고 해제하는 방법을 알아보겠습니다.
이미지 압축
이미지를 압축하는 방법은 다양한 알고리즘을 사용할 수 있지만, 가장 널리 사용되는 알고리즘은 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
라이브러리의 다른 기능들도 살펴보시기 바랍니다.