goodthings4me.tistory.com
■ 웹사이트에서 큰 이미지를 다운로드 후, png 타입 썸네일 이미지를 만든다.
■ 원본 이미지에 대해 여러 품질(quality)의 이미지를 만든다.
■ 관련 라이브러리 설치
pip install requests
pip install pillow
pip install pilkit
import requests
from PIL import Image
from pilkit.processors import Thumbnail
# 이미지 다운로드 후 저장
image_url = 'https://cdn.pixabay.com/photo/2020/08/14/13/57/cat-5488070_960_720.jpg'
img_binary = requests.get(image_url).content
with open('./cat.jpg', 'wb') as f:
f.write(img_binary)
# 썸네일 파일 만들기(.png)
cat_image = Image.open('./cat.jpg')
print(cat_image)
# <PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=960x640 at 0x2B178FA3610>
processor = Thumbnail(width=300) # width, height(비율 유지) / width, height 각각 지정 가능
print(processor)
# <pilkit.processors.resize.Thumbnail object at 0x00000201B7406FD0>
thumb_image = processor.process(cat_image)
thumb_image.save('./cat_thumb.png') # 썸네일 이미지 저장
# 이미지 파일 품질(quality) 조정하기(80, 60, 40 품질 3개 이미지 생성)
cat_img = Image.open('./cat.jpg')
for q in [80, 60, 40]:
cat_img.save('./cat_thumb-{}.jpg'.format(q), quality=q)
'코딩 연습 > 코딩배우기' 카테고리의 다른 글
[python] Django 3.1 Tree (0) | 2020.08.31 |
---|---|
[python] 딕셔너리(dict) 알아보기 - 생성, 루핑, 컴프리헨션, setfault, orderedDict (0) | 2020.08.29 |
[python] map과 filter 대신 리스트 컴프리헨션 사용하기 (0) | 2020.08.26 |
[python] 피보나치(Fibonacci) (0) | 2020.08.25 |
[python] 주어진 6개의 숫자 맞추기(로또번호 맞추기) (0) | 2020.08.24 |
댓글