파이썬 | 이미지 파일 크기 줄이기

소요 시간: 3분

이썬을 사용하여 이미지 파일의 크기를 줄이는 방법에 대해 고민해 보았다. 요즘은 사진을 찍고 공유하는 일이 많아지면서, 용량이 큰 이미지 때문에 어려움을 겪는 경우가 많았다. 그래서, 이미지 크기를 쉽게 압축할 수 있는 방법을 찾아보았다. PIL(Python Imaging Library) 라이브러리를 활용하면 쉽고 빠르게 해결할 수 있다는 사실을 알게 되었다.


1. 라이브러리 설치하기

먼저, 이미지 처리를 위해 PIL 라이브러리를 설치해야 했다. 터미널을 열고 아래 명령어를 입력했다.

$ pip install pillow

설치가 완료되고 나니, 이미지 작업을 위한 준비가 끝났다.


이미지 파일 열기

이제 본격적으로 이미지를 열어 크기를 조정해 보았다. 아래와 같은 코드를 작성해보았다. Image.open() 함수를 사용하여 원하는 이미지 파일을 열 수 있다. 여기서 이미지 파일의 경로를 입력하면 된다.

from PIL import Image

# 이미지 파일 열기
foo = Image.open("path to image")

"path to image" 부분에 내가 압축하고자 하는 이미지의 경로를 입력했다. 이제 이미지를 불러올 준비가 되었다.


3. 이미지 크기 조정하기

이미지를 열고 나니, 이제는 크기를 조정할 차례다. resize() 메소드를 이용하여 원하는 크기로 이미지를 조정할 수 있었다. 예를 들어, 가로 720픽셀, 세로 405픽셀로 조정하기로 했다. 이렇게 하면 이미지의 품질을 유지하면서 크기를 줄일 수 있다고 한다.

foo = foo.resize((720, 405), Image.ANTIALIAS)

이렇게 간단한 코드로 이미지 크기를 조정할 수 있다는 점이 정말 기뻤다.


4. 압축된 이미지 저장하기

이제 압축된 이미지를 저장할 차례다. save() 메소드를 사용하여 두 가지 방식으로 저장할 수 있었다. 첫 번째 방법은 품질을 설정하여 저장하는 것이고, 두 번째는 최적화된 방법으로 저장하는 것이다.

# 품질 95로 첫 번째 이미지 저장
foo.save("path to first new image", quality=95)

# 최적화하여 두 번째 이미지 저장
foo.save("path to second new image", optimize=True, quality=95)

"path to first new image"와 "path to second new image" 부분에 저장하고자 하는 경로를 입력했다. 품질 옵션을 조정하여 이미지의 품질을 결정할 수 있었다. 품질을 95로 설정했는데, 100이 가장 높은 품질이라는 것도 알게 되었다.


이렇게 간단한 코드 몇 줄로 이미지 파일의 크기를 줄일 수 있었다. 이 방법을 통해 웹사이트의 로딩 속도를 개선하거나, 이메일로 이미지를 전송할 때 용량 문제를 해결할 수 있을 것 같다. 앞으로 이미지 파일을 다룰 일이 많으니, 오늘 배운 이 방법을 꼭 활용해야겠다.

파이썬 리스트