Python

[Python] Pillow(PIL) 모듈

YEJI ⍢ 2022. 11. 3. 16:33
728x90

모듈(module)이란?

모듈이란 함수나 변수 또는 클래스를 모아 놓은 파일입니다.

많은 모듈이 존재하고, 우리는 그 모듈을 사용합니다.

 

많은 모듈 중 PILLOW라는 모듈이 있습니다.

이미지 분석 및 처리를 쉽게 할 수 있도록 도와줍니다.

 

Pillow 모듈을 사용하기 위해서 설치를 해야됩니다.

↓↓↓       Pillow Installaion     ↓↓↓

https://yyyeji.tistory.com/236

 

[Python] Conda에서 package 설치하기

Conda란? 콘다란 언어의 패키지, 의존관계, 환경을 관리하는 가상환경 도구입니다. 가상환경인 콘다에서는 패키지를 다운로드 받는게 쉽습니다. 콘다는 어떤 운영체제(MacOS or Windows or Linux)를 가지

yyyeji.tistory.com

 

 

Pillow(PIL) 모듈 예제 살펴보기

저는 VScode를 사용하는데 vscode terminal에서 conda를 활성화시켜 줬습니다.

 

가장 먼저 PIL에서 Image와 ImageFilter를 import 해줍니다.

from PIL import Image
from PIL import ImageFilter

 

 

open()  :  .jpg 또는 .png 파일을 읽는 함수

show() : 같은 디렉토리 안에 있는 이미지를 띄우는 함수

img = Image.open('hanRiver.jpg')
img.show()

 

convert() : 이미지를 흑백으로 바꿔주는 함수

img_new = img.convert("L")
img_new.show()

resize() : 이미지의 크기를 조정해주는 함수

img = Image.open('hanRiver.jpg')
img = img.resize((100, 100))
img.show()

crop() : 이미지를 잘라주는 함수

img = Image.open('hanRiver.jpg')
img = img.crop((300, 300, 1000, 1000))
img.show()

rotate() : 이미지를 회전시켜주는 함수

img = Image.open('hanRiver.jpg')
img = img.rotate(45)
img.show()

 

transpose(Image.FLIP_LEFT_RIGHT) : 이미지의 좌우를 바꿔주는 함수

img = Image.open('hanRiver.jpg')
img = img.transpose(Image.FLIP_LEFT_RIGHT)
img.show()

transpose(Image.FLIP_TOP_BOTTOM) : 이미지의 상하를 바꿔주는 함수

img = Image.open('hanRiver.jpg')
img = img.transpose(Image.FLIP_TOP_BOTTOM)
img.show()

 

filter() : 이미지에 변화를 주는 함수

img = Image.open('hanRiver.jpg')
img = img.filter(ImageFilter.BLUR)
img.show()

img = Image.open('hanRiver.jpg')
img = img.filter(ImageFilter.CONTOUR)
img.show()

img = Image.open('hanRiver.jpg')
img = img.filter(ImageFilter.DETAIL)
img.show()​

 
img = Image.open('hanRiver.jpg')
img = img.filter(ImageFilter.EDGE_ENHANCE)
img.show()​

img = Image.open('hanRiver.jpg')
img = img.filter(ImageFilter.EDGE_ENHANCE_MORE)
img.show()

img = Image.open('hanRiver.jpg')
img = img.filter(ImageFilter.EMBOSS)
img.show()

img = Image.open('hanRiver.jpg')
img = img.filter(ImageFilter.SHARPEN)
img.show()

img = Image.open('hanRiver.jpg')
img = img.filter(ImageFilter.SMOOTH)
img.show()​

 
img = Image.open('hanRiver.jpg')
img = img.filter(ImageFilter.SMOOTH_MORE)
img.show()​

 

 

사진의 좌표는 아래와 같습니다.

(0, 0)   (1800, 0)
     
(0, 1200)   (1800, 1200)

 

 

이미지 정보 확인하는 코드입니다.

print(f'이미지 파일 이름 {img.filename}')     # Name
print(f'이미지 파일 형식 {img.format}')       # Format
print(f'이미지 용량 : {img.size}')           # Size
print(f'이미지 색상모드 : {img.mode}')        # Color mode
print(f'이미지 가로 길이 : {img.width}')      # Width
print(f'이미지 세로 길이 : {img.height}')     # Height

 

 

 

 

◡̈