728x90
반응형
Python으로 이미지 데이터를 핸들링 할 때가 있는데 opencv도 있지만, PIL 라이브러리로 빠르고 간단하게 작업을 수행할 수 있다.
그래서 설치 방법, 이미지 불러오기, 사이즈 변경, 그리고 이미지 병합(=합치기) 하는 방법을 공유하겠다.
1. 라이브러리 설치
pip install pillow
2. 이미지 불러오기
from PIL import Image
img = Image.open('images/cat1.jpg')
img
3. 사이즈 확인 및 변경
img.size # (640, 391)
img.resize((300, 150)).size # (300, 150)
img.resize((300, 150))
4. 이미지 합치기
new()에서 세 번째 파라미터가 RGB 값을 명시하는 것인데 흰색 배경을 만들고 싶으면 (255, 255, 255)로, 검정 배경은 (0, 0, 0)으로 선언하면 된다.
Image.new('RGBA', (50, 50), (255, 255, 255))
Image.new('RGBA', (50, 50), (0, 0, 0))
그리고 (800, 800) size를 가진 흰색 배경 이미지에 위에 고양이 사진을 합치고 싶으면 아래처럼 코드를 작성하면 된다.
(중앙을 기준으로 합치기 위해 길이를 2로 나눴다.)
new_img = Image.new('RGBA', (800, 800), (255, 255, 255))
img_width, img_height = img.size
new_img_width, new_img_height = new_img.size
new_img.paste(img,
(int((new_img_width - img_width) // 2),
int((new_img_height - img_height) // 2)))
new_img
5. 이미지 저장
new_img.save('images/new_cat_1.png')
728x90
반응형