본문 바로가기

개인공부/혼공학습단 14기 - 혼만파

혼자 만들면서 공부하는 파이썬 - 2주차

Chapter 03 - 이미지 콜라주

 

학습 목표

- pillow 패키지 설치하고, 이미지를 생성할 수 있음

- 이미지 크기 변경, 합성 등의 처리를 할 수 있음

- 여러 개의 이미지를 순차적으로 배치해 콜라주를 만들 수 있음

 


03-1 이미지 불러오기

 

- pillow 패키지는 파이썬의 여러 이미지 처리 패키지 중 하나임

- pathlib 패키지는 파일 시스템 경로를 객체로 만드는 패키지 중 하나임

- ImageDraw 모듈은 Image 객체를 보정하거나 주석을 다는 등의 그래픽 처리를 할 수 있음

- 이를 위해서는 Draw() → Image 객체로부터 ImageDraw 객체를 만들어야 함

- PIL.ImageDraw.Draw(im, mode: str | None = None) 


03-2 이미지 가공하기

- 이미지의 명도를 높이거나 낮출 때는 '알파 합성' 이라는 기법을 활용함

- 알파 합성은 원본 이미지 위에 불투명한 색을 덧씌워 탁하게 만듦

- 이미지의 불투명도(opacity)를 조절하여 다른 이미지와 합성하는 것으로, 서로 다른 이미지의 불투명도를 조절하여 합성
- alpha_composite()는 두 Image 객체를 매개변수로 받아 알파 합성 수행


03-3 이미지 콜라주 만들기

- 콜라주는 여러 개의 이미지를 하나의 이미지로 조화롭게 배치하는 기법

- matlab이나 matplotlib 패키지의 subplot()과 비슷하지만, 콜라주는 하나의 이미지로 만듦

+ 바운딩 박스에서 고정된 사이즈라서 여백 위치를 수치를 직접 적용하였지만, 크기에 비례하게 만드는게 좋지 않을까?

기존
pad = 20  # 여백
bg_width = pad + right + pad  # 메시지 너비에 여백 추가
bg_height = pad + bottom + pad  # 메시지 높이에 여백 추가
변경
# 여기서 msg_x는 메시지의 가로, msg_y는 메시지의 세로

pad_ratio = 0.1 # 10%
pad = min(msg_x, msg_y) * pad_ratio

 


2주차
(7/7 ~ 7/13)
Chapter 03 Ch.03(03-1, 03-2) 이미지 가공(크기 변경, 합성) 후 결과 화면 캡처하기 Ch.03(03-3) 이미지 콜라주 실행 결과 화면 캡처하기

 

03-1
03-2
03-3