본문 바로가기
Programming/Python

파이썬 이미지 처리 PIL (Pillow) 설치 및 기본 사용 방법

by 심코딩 2022. 7. 5.

파이썬에서는 다양한 라이브러리들이 있죠. 그 중에서 이미지를 분석하고 처리하는데 유용한 라이브러리가 있습니다. 바로 Pillow 라고 불리우는 PIL 라이브러리 입니다. 해당 라이브러리를 통해서 이미지를 처리할 수가 있습니다.

 

필로우에 대한 설명 및 메뉴얼은 아래 웹사이트를 통해 확인은 가능하십니다.

 

Pillow

Pillow is the friendly PIL fork by Alex Clark and Contributors. PIL is the Python Imaging Library by Fredrik Lundh and Contributors. Pillow for enterprise is available via the Tidelift Subscription...

pillow.readthedocs.io

 

주요 기능으로는 아래가 있습니다. 해당은 주요기능일 뿐 꽤 많은 작업을 할 수 있다는 장점이 있습니다.

 

  • 이미지 저장 및 불러오기
  • 효과 주기 ( 크롭핑, 블러, 밝기 보정, 색상 보정 ...)
  • 확장자 변경
  • 기타 등등

설치 방법 
pip install pillow

를 명령프롬프트 (cmd)를 열고 입력을 해주면 됩니다. 이렇게 입력을 해주면 자동으로 설치가 될 것이고, 설치 완료 되었다는 안내문이 나오면 그냥 창을 닫아주시면 되십니다.

 


이미지 가져오기 및 저장하기

 

대부분의 파이썬 라이브러리들이 그렇듯 Pillow 또한 모듈을 가지고 있습니다. 보통 이미지를 처리하기 위해서는 image 모듈을 import 해야 합니다. 가져오는 방법은 아래와 같습니다.

 

from PIL import Image

 

Image 모듈을 통해 이미지를 가져오고, 저장을 할 수 있습니다. 먼저 이미지를 가져와 보겠습니다.

 

from PIL import Image
image = Image.open("D:\image.png")

image.show()

 

아래와 같이 코드를 실행하면 이미지가 오픈이 되는 것을 볼 수가 있습니다.

.show() 를 통해 원하는 이미지를 볼 수 있습니다.

이미지를 저장하는 방법은 아래와 같습니다.

D 드라이브에 saved.png 라는 이름으로 저장을 할 수 있습니다.

 

from PIL import Image
image = Image.open("D:\image.png")
image.save("D:\saved.png")

 

보통 이미지를 처리하고 나서 기존 파일과 겹치지 않게 저장하기 위해 많이 사용합니다.


이미지 크기 조절하기

 

이미지 크기를 조절하기 위해서는 resize를 사용합니다.

from PIL import Image

image = Image.open("D:\image.png")
resized = image.resize((400,400))

resized.save("D:\resized.png")

400 x 400 이미지로 크기를 조절한 후 , 조절한 이미지를 따로 resized 라는 이름으로 저장을 할 수 있습니다.

자신이 원하는 범위를 튜플로 지정을 하면 됩니다.


이미지 크롭핑 하기

 

개인적으로 제가 현재 진행하고 있는 개인프로젝트에서 주로 사용된 기능입니다.

원하는 좌표를 입력하면 그 좌표에 따라 이미지가 잘립니다.

 

from PIL import Image

image = Image.open("D:\image.png")
cropped = image.crop((200,200,200,200))

cropped.save("D:\cropped.png")

 

마찬가지로 인자값은 튜플로 넣어주셔야 하십니다. 또한 인자값은 왼쪽부터 시계 방향으로 갑니다. 

즉, (왼쪽, 위, 오른쪽, 아래) 입니다.

 

이 밖에도 다른 효과를 넣는 방법들은 다음에 알아보도록 하겠습니다.

댓글