관리 메뉴

솜씨좋은장씨

[Python] PIL(Pillow) 라이브러리를 활용하여 이미지 resize 시 깨지지 않게 저장하는 방법! 본문

Programming/Python

[Python] PIL(Pillow) 라이브러리를 활용하여 이미지 resize 시 깨지지 않게 저장하는 방법!

솜씨좋은장씨 2020. 11. 4. 18:36
728x90
반응형

한글 파일에서 첫 페이지만 bmp로 저장한 다음

bmp 파일을 작은 해상도로 resizing 한 후 jpeg로 저장하는 과정에서 이미지가 깨져서 보이는 현상이 있었습니다.

 

처음에는 한글 API 가 제대로 동작하지 않아서인가 싶었지만 

PIL(Pillow) 라이브러리에서 resize 하는 과정에서 발생하는 문제였습니다.

 

해결 방법

해결하는 방법은 아주 간단했습니다.

img = Image.open("./test.bmp").convert("RGB")
new_img = img.resize((500, 707), Image.ANTIALIAS)
new_img.save("./test.jpg", format='jpeg', quality=100)

resize를 하는 과정에서 Image.ANTIALIAS 라는 인자를 넣어주면 되는 것이었습니다.

 

ANTIALIAS ?

ANTIALIAS 즉, 안티엘리어싱은 한국어로 위신호 제거라는 용어로

높은 해상도의 사진 또는 영상을 낮은 해상도로 변환하거나 나타낼때 깨진 패턴의 형태로 나타나게 되는데

이를 최소화 시켜주는 방법을 안티엘리어싱이라고 부릅니다.

 

따라서 resize에 Image.ANTIALIAS를 넣어주게되면 이상없이 깨지는 느낌 없이 제대로 저장되는 것을 볼 수 있습니다.

 

Comments