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

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

by SuperMemi 2021. 12. 29.
반응형

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


2021.12.29 - [Computer Language/Python] - [ Python / PIL ] Image (open, save)

 

[ Python / PIL ] Image (open, save)

Python Imaging Library (PIL) PIL은 파이썬에서 이미지 분석 및 처리를 쉽게 할 수 있는 라이브러리이다. 다양한 이미지 파일 형식(PPM , PNG , JPEG , GIF , TIFF , BMP)을 지원하며, 다양한 이미지 처리와 그..

supermemi.tistory.com

2021.12.29 - [Computer Language/Python] - [ Python / PIL ] PIL 이미지, Numpy 배열 변환 및 저장 ( Image.fromarray(), np.array(), np.asarray() )

 

[ Python / PIL ] PIL 이미지, Numpy 배열 변환 및 저장 ( Image.fromarray(), np.array(), np.asarray() )

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 에 바운딩 박스 그리기 (ImageDraw)

 

PIL 모듈의 ImageDraw를 이용합니다.

위의 매미 이미지는 RGB 이미지가 아닌 Grayscale 이미지입니다.

 

 

Grayscale 이미지의 경우 convert("RGB")를 이용하여 RGB이미지 포멧으로 바꾸어 주어야합니다.

 

 

그렇지 않으면 bounding box에 RGB 색상을 적용하지 못합니다.

draw.rectangle( (point1_x, point1_y, point2_x, point2_y) , outline=(0,255,0), width=3)

바운딩 박스의 좌상단 꼭짓점 좌표 : point1_x, point1_y

바운딩 박스의 우하단 꼭짓점 좌표 : point2_x, point2_y

outline : (R,G,B) color 튜플입니다.

width : 바운딩 박스의 선 두께입니다.

 

 

from PIL import Image, ImageDraw

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

draw = ImageDraw.Draw(img)
draw.rectangle((100,100,300,300), outline=(0,255,0), width = 3)

img.show()

 

예제 1 결과


여러개의 바운딩 박스 그리기

 

단순하다. draw.rectangle을 이용하여 원하는 만큼 그리면된다.

 

from PIL import Image, ImageDraw

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

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

img.show()

 

예제 2 결과

 


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

 

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

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

supermemi.tistory.com

 

 

반응형