본문 바로가기
컴퓨터 언어/Python_PIL

[ Python / PIL ] PIL Image 바운딩 박스에 색 채우기 (fill, RGBA)

by SuperMemi 2021. 12. 29.
반응형

2021.12.29 - [Computer Language/Python] - [ Python / PIL ] PIL Image 에 바운딩 박스 그리기 (ImageDraw.Draw(), draw.rectangle(), grayscale)

 

[ Python / PIL ] PIL Image 에 바운딩 박스 그리기 (ImageDraw.Draw(), draw.rectangle(), grayscale)

2021.12.29 - [Computer Language/Python] - [ Python / PIL ] Image (open, save) [ Python / PIL ] Image (open, save) Python Imaging Library (PIL) PIL은 파이썬에서 이미지 분석 및 처리를 쉽게 할 수 있는..

supermemi.tistory.com


PIL Image 바운딩 박스에 색 채우기

 

앞선 글에서 바운딩 박스를 어떻게 그리는지 다루었다.

바운딩 박스의 내부 색을 채우고 싶다면 어떻게 할까?

 

 

쉽다.

 

 

그냥 색으로 채우면 이미지가 보이지 않으므로, 투명도를 반영하는 RGBA를 이용하자.

RGBA 는 모두 0~255 사이의 정수값으로 구성해준다.

rectangle 을 그릴때 fill 인자로 채우고 싶은 RGBA color를 넣어준다.

 

from PIL import Image, ImageDraw

img = Image.open('memi.jpg').convert('RGB')
img.show()

box_color_RGBA  = (0,255,0,255)
fill_color_RGBA = (0,255,0,50)

draw = ImageDraw.Draw(img, 'RGBA') # RGBA
draw.rectangle((100,100,300,300), outline=box_color_RGBA, fill=fill_color_RGBA, width = 3) #fill

img.show()

좌 : original, 우 : 바운딩박스 적용

 


바운딩 박스 여러개에 각각 색을 채울 수 있다.

 

from PIL import Image, ImageDraw

img = Image.open('memi.jpg').convert('RGB')
img.show()

draw = ImageDraw.Draw(img,'RGBA')
draw.rectangle((100,100,300,300), outline=(0,255,0,255), fill=(0,255,0,50),width=3)
draw.rectangle((150,150,250,250), outline=(255,0,0,255), fill=(255,0,0,50),width=3)
draw.rectangle((200,200,400,400), outline=(0,0,255,255), fill=(0,0,255,50),width=3)

img.show()

 

다양한 바운딩 박스


 

반응형