반응형
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()
바운딩 박스 여러개에 각각 색을 채울 수 있다.
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()
반응형
'컴퓨터 언어 > Python_PIL' 카테고리의 다른 글
[ Python / PIL ] PIL Image text Font(ImageFont : 글씨 크기, 폰트) 변경하기 (0) | 2021.12.29 |
---|---|
[ Python / PIL ] PIL Image text (글쓰기) (2) | 2021.12.29 |
[ Python / PIL ] PIL Image 에 바운딩 박스 그리기 (ImageDraw.Draw(), draw.rectangle(), grayscale) (0) | 2021.12.29 |
[ Python / PIL ] PIL 이미지, Numpy 배열 변환 및 저장 ( Image.fromarray(), np.array(), np.asarray() ) (1) | 2021.12.29 |
[ Python / PIL ] Image (open, save) (0) | 2021.12.29 |