안녕하세요.
파이썬 PIL(Pillow) 모듈을 활용하여 사진 사이즈를 변경하는 방법에 대해 알아보겠습니다.
파이썬 사진 사이즈 변경하기
▣ PIL resize 함수
--모듈 import하기
from PIL import image
- 사진.resize((width: 너비, height: 높이), Filters*), *default: NEAREST
: Filters(품질) 종류
- 오른쪽(→)으로 갈수록 품질은 높으나 처리시간은 길어짐.
NEAREST | BOX | BILINEAR | HAMMING | BICUBIC | LANCZOS |
▣ resize 함수로 사진 사이즈 변경하기
: Sample이 한 개일 때
from PIL import Image
import os
img = Image.open("C:/Users/코딩하는 금융인/Desktop/배경화면/2727409-200.png")
img_resize = img.resize((256, 256))
# 사진 사이즈 확인
print(img_resize.size)
# 결과: (256, 256)
# 사이즈 변경된 사진 저장
img_resize.save("C:/Users/코딩하는 금융인/Desktop/배경화면/2727409-200_resize.png")
os.path.isfile("C:/Users/코딩하는 금융인/Desktop/배경화면/2727409-200_resize.png")
# 결과: True
: Sample이 여러 개일 때
- jpg 형식의 파일 리스트를 가져올 때 glob 모듈 활용함.
- 저장되는 파일 경로는 os 모듈의 splitext 함수 활용하여 title: 경로가 포함된 파일이름, ext: 파일형식으로 구성하여 저장함.
# jpg 파일 리스트
import glob
input_path = "C:/Users/코딩하는 금융인/Desktop/배경화면/*.jpg"
file_list = [file for file in glob.glob(input_path)]
# jpg 파일 리스트 사이즈 변경
img_resize_list = []
for f in file_list:
img = Image.open(f)
img_resize = img.resize((int(img.width/2), int(img.height/2)))
img_resize_list.append(img_resize.size)
# 사이즈 변경 사진 저장하기
title, ext = os.path.splitext(f)
img_resize.save(title + '_resize' + ext)
print(img_resize_list)
'''
결과 : [(511, 341), (250, 180), (325, 215), (960, 640),
(455, 346), (390, 221), (455, 455), (158, 79), (137, 91), (137, 91),
(153, 82), (960, 540), (960, 540), (960, 540), (960, 540), (960, 540), (960, 640)]
'''
반응형
'Programming > Python' 카테고리의 다른 글
[Python] 이미지 합치기 (0) | 2022.12.18 |
---|---|
[Python] 파이썬 이미지 필터 (ImageFilter) (1) | 2022.12.17 |
[Python] 파일 리스트 가져오기 (os, glob) (1) | 2022.12.13 |
[Python] 파이썬 문자열에서 숫자만 추출하기 (0) | 2022.12.01 |
[Python] 파이썬 결측치 조회, 처리 (2) | 2022.10.13 |
댓글