개발 관련/SW, App 관련

Python으로 이미지 사이즈 줄이기

by 소서리스25 2024. 9. 7.
반응형

Python으로 이미지 사이즈 줄이기

 

일반적인 이미지 관리툴을 사용하면 쉽게 다양하게 변경할 수 있긴 하지만 간단한 사항은 파이썬으로도 쉽게 변환할 수 있다.

 

먼저 pillow 라이브러리를 설치해 줘야 한다.

 

pip install pillow

 

하면 금방 바로 설치된다.

 

변경한 이미지는 한 장이 아닌 폴더 내의 전체 이미지들의 사이즈를 변경하고자 하는 것이다. 굳이 한 장만 변경할 일은 별로 없을 것이다. 

그러면 아래의 코드를 Image_resize.py로 저장하자.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from PIL import Image
import os
import glob
 
input_path = "./imageOriginal/*.jpg"
file_list = [file for file in glob.glob(input_path)]
 
img_resize_list = []
for f in file_list:
    img = Image.open(f)
    img_resize = img.resize((int(img.width/3.2), int(img.height/3.2)), 1)
    img_resize_list.append(img_resize.size)
 
    title, ext = os.path.splitext(f)
    img_resize.save(title + '_resize' + ext)
 
# print(img_resize_list)
cs

 

 

간략히 설명하면 

input_path로 변환할 폴더에 파일확장자를 설정해 주면 된다.

 

사이즈의 변경은 

img_resize = img.resize((가로크기, 세로크기), 필터옵션)

 

필터옵션은 여러가지가 있으며 화질은 아래와 같으며 밑으로 갈수록 화질이 좋다고 보면 된다.

NEAREST = NONE = 0 
BOX = 4 
BILINEAR = LINEAR = 2 
HAMMING = 5 
BICUBIC = CUBIC = 3 
LANCZOS = ANTIALIAS = 1

 

숫자만 써도 되고   Image.LANCZOS  요렇게 해도 된다.

 

이 변환의 담당은 Image.py가 하며 제공하는 깃의 내용은 아래를 참고하시기 바란다.

Pillow/src/PIL/Image.py at main · python-pillow/Pillow · GitHub

 

Pillow/src/PIL/Image.py at main · python-pillow/Pillow

Python Imaging Library (Fork). Contribute to python-pillow/Pillow development by creating an account on GitHub.

github.com

 

 

반응형

댓글