파이썬 기초 | 라이브러리 사용법 | Pillow 라이브러리로 이미지 연출하기 | 이미지 상하좌우 반전, 밝기 조절, 흑백/엠보싱/연필스케치 효과, 경계선 추출하기

728x90

 

 

1. Pillow 라이브러리

 

▶ 외부 라이브러리의 개념

: 파이썬 자체에는 없는 기능

: 다른 개발자가 만들어놓은 좋은 기능들의 묶음

 

▶ 외부 라이브러리의 종류

: 파이썬 외부 라이브러리의 종류는 수십만 개 이상임

: 파이썬 외부 라이브러리 검색 웹사이트 참고

https://pypi.org/

 

[Pillow 라이브러리 실습]

 

* 외부 라이브러리로 간단한 이미지 처리 프로그램 만들기

(이미지를 처리하는 Pillow(필로우)라는 라이브러리를 사용함)

 

▶ Pillow 라이브러리 (저는 이미 설치되어 있어서 업데이트 하라는 문구 나옴)

pip install pillow

import PIL 

# 이렇게 쳤는데 에러가 안나면 잘 되는 것

 

▶ 저장된 이미지 불러오기

from PIL import Image, ImageFilter, ImageEnhance, ImageOps
img = Image.open("C:/photo/짱구1.jpg")
img.show()

 

▶ 이미지 열고 저장하기

img.save("C:/photo/output01.jpg")

 

▶ 이미지 좌/우 반전하기

img = Image.open("C:/photo/짱구1.jpg") 
img.show() 
img = img.transpose(Image.FLIP_LEFT_RIGHT) 
img.show()

 

▶ 이미지 상/하 반전하기

img = Image.open("C:/photo/짱구1.jpg") 
img.show() 
img = img.transpose(Image.FLIP_TOP_BOTTOM) 
img.show()

 

▶ 이미지 회전하기

img = Image.open("c:/photo/짱구1.jpg") 
img.show() 
img = img.rotate(45, expand=True)   # 회전각도 현재 45도
img.show()

 

▶ 이미지 잘라내기

img = Image.open("C:/photo/짱구1.jpg") 
img.show() 
img = img.crop((100,100,600,600))  # 왼쪽 위 = (0,0) 오른쪽 아래 = (width, height)
img.show()

 

▶ 이미지 밝게 하기

img = Image.open("C:/photo/짱구1.jpg") 
img.show() 
img = ImageEnhance.Brightness(img).enhance(3.0)  # 3만큼 밝게
img.show()

 

▶ 이미지 어둡게 하기

img = Image.open("C:/photo/짱구1.jpg") 
img.show() 
img = ImageEnhance.Brightness(img).enhance(0.4)  # 4만큼 어둡게
img.show()

 

▶ 이미지 흑백으로 만들기

img = Image.open("C:/photo/짱구1.jpg") 
img.show() 
img = ImageOps.grayscale(img) 
img.show()

 

▶ 이미지 엠보싱 효과 넣기(2차원 그림이라 그런지 엠보싱 효과가 잘 안 나타남..)

img = Image.open("C:/photo/짱구1.jpg") 
img.show() 
img = ImageOps.grayscale(img) 
img.show()

 

▶ 연필 스케치 효과 넣기

img = Image.open("C:/photo/짱구1.jpg") 
img.show() 
img = img.filter(ImageFilter.CONTOUR) 
img.show()

 

▶ 경계선 추출하기

img = Image.open("C:/photo/짱구1.jpg") 
img.show() 
img = img.filter(ImageFilter.FIND_EDGES) 
img.show()

728x90

댓글