일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- pandas
- 비주얼베이직
- VBA
- 파워포인트
- 문자열
- 윈도우11
- pyqt5
- python
- Windows11
- 엑셀
- 깃
- 윈도우10
- Excel
- Outlook
- office
- html
- python3
- 파이썬GUI
- 안드로이드
- windows
- matlab
- 오피스
- Windows10
- 파이썬
- pythongui
- 파이썬3
- Android
- 아웃룩
- win32com
- git
Archives
Appia의 IT세상
파이썬[Python, Pillow] 사진 사이즈를 특정 사이즈에 맞게 자동으로 크기 변경하기 본문
반응형
파이썬[Python, Pillow] 사진 사이즈를 특정 사이즈에 맞게 자동으로 크기 변경하기
이전 포스팅에서는 특정 폴더에 있는 사진들을 한번에 크기를 변경하는 방법에 대해서 살펴봤습니다. 이번 포스팅에서는 크기의 상관없이 특정 사이즈에 맞춰서 자동으로 크기를 변경해주는 방법에 대해서 살펴보고자 합니다.
일단, 관련해서 다음과 같은 순서로 작업을 진행하고자 합니다.
1. 원하는 사이즈를 입력
2. 관련 사진의 크기중 큰 부분이 무엇인지 파악하고 파악
3. 원하는 사이즈를 좌우 중 큰 사이즈로 나누어 원하는 변경 비율 획득
4. 3번에서 얻은 비율을 바탕으로 각 좌우 사이즈를 곱하여 크기 변경
그럼 코드를 살펴보겠습니다.
from PIL import Image
import os.path
targerdir = r"D:\여행\20210213_충주\충주호"
files = os.listdir(targerdir)
wantedSize = 1000 #원하는 사이즈 입력
format = [".jpg",".png",".jpeg","bmp",".JPG",".PNG","JPEG","BMP"]
for (path,dirs,files) in os.walk(targerdir):
for file in files:
if file.endswith(tuple(format)):
image = Image.open(path+"\\"+file)
print(image.filename)
print(image.size)
# 좌우 크기 중 큰 부분 획득
if image.size[0] > image.size[1]:
tempsize =image.size[0]
else:
tempsize =image.size[1]
# 변경할 비율 획득
percent = wantedSize/tempsize
# 획득한 비율 출력
print(percent)
# 획득한 비율을 토대로 이미지 크기 변경
image=image.resize((int(image.size[0]*percent), int(image.size[1]*percent)))
image.save(path+"\\a"+file)
print(image.size)
else:
print(path)
print("InValid",file)
이 부분에 대한 코드를 실행하면 다음과 같은 결과가 나타납니다.
D:\여행\20210213_충주\충주호\DSCF0796.JPG
(4896, 3264)
0.2042483660130719
(1000, 666)
D:\여행\20210213_충주\충주호\DSCF0800.JPG
(4896, 3264)
0.2042483660130719
(1000, 666)
...
D:\여행\20210213_충주\충주호\DSCF0838.JPG
(4896, 3264)
0.2042483660130719
(1000, 666)
이와 같은 방식으로 이미지의 크기를 변경할 수 있습니다. 비율을 구해서 이미지를 변경하는 이유는 좌우의 불균형으로 인하여 이미지가 깨지는 것을 방지하기 위함입니다. 생각보다는 간단하지만, 때로는 생각을 놓치기 쉬운 부분이라 다음과 같이 포스팅을 해봤습니다.
파이썬[Python, Pillow] 특정 폴더에 있는 사진들 한번에 사이즈 특정 비율로 변경하기
이번 포스팅에서는 파이썬[Python, Pillow] 사진 사이즈를 특정 사이즈에 맞게 자동으로 크기 변경하기라는 주제로 포스팅을 해봤습니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 밤여록에 글 남겨주시길 바랍니다.
반응형
'Python > Python 응용' 카테고리의 다른 글
파이썬 [Python] 리스트(List)를 CSV 파일로 추출하기 (1) | 2021.04.21 |
---|---|
파이썬[Python, Pillow] 특정 크기 이상인 사진들 확인하는 방법 & 특정 크기 이상인 사진 파일들만 크기 변경하는 방법 (2) | 2021.02.25 |
파이썬[Python, Pillow] 특정 폴더에 있는 사진들 한번에 사이즈 특정 비율로 변경하기 (2) | 2021.02.21 |
파이썬[Python, Pillow] 확장자를 이용하여 해당 파일 지원 포맷인지에 대한 확인하는 방법 (0) | 2021.02.19 |
Python[파이썬] QR 코드 생성 하는 프로그램 만들기 2번째 - QR코드 생성 기능 만들기 (0) | 2021.01.21 |
Comments