상세 컨텐츠

본문 제목

이미지의 투명 영역을 제외하고 바운딩 박스를 구하여 CROP하기

AI/개발도구

by cepiloth 2023. 1. 30. 19:48

본문

728x90
반응형

 

배경제거를 한이 후에 이미지의 경계면을 투명영역이 넓어서 실제 픽셀 영역이 있는 BoundBox를 구하는 것이 필요했다. 파이썬에 bbox를 사용하면 쉽게 처리할 수 있다. 코드는 아래와 같다.

1. PIL (Python Imaging Library) 라이브러리의 Image 모듈을 가져옵니다.

from PIL import Image

 

2. Image.open 메소드를 사용하여 이미지 파일을 엽니다. 이것은 Image 객체를 반환합니다.

im = Image.open("image.png")

 

3. getbbox 메소드를 사용하여 배경이 투명인 영역의 경계 상자를 얻습니다. getbbox 메소드는 경계 상자의 왼쪽, 윗쪽, 오른쪽, 아래쪽 픽셀 좌표를 나타내는 4 개 값의 튜플을 반환합니다.

bbox = im.getbbox()

 

4. crop 메소드와 경계 상자 정보를 사용하여 이미지를 잘라냅니다. crop 메소드는 이미지를 자를 왼쪽, 윗쪽, 오른쪽, 아래쪽 픽셀 좌표를 나타내는 4 개 값의 튜플을 취합니다.

cropped = im.crop(bbox)

 

5. save 메소드를 사용하여 잘려진 이미지를 저장합니다.

cropped.save("cropped_image.png")

 

getbbox 메소드는 Python Imaging Library (PIL) 라이브러리의 Image 모듈에서 제공하는 메소드입니다. getbbox 메소드는 이미지의 경계 상자를 계산하는데 사용됩니다. 

경계 상자는 이미지의 내용이 있는 픽셀의 위치를 나타내는 사각형 영역을 말합니다. getbbox 메소드는 경계 상자의 왼쪽, 윗쪽, 오른쪽, 아래쪽 픽셀 좌표를 나타내는 4 개 값의 튜플을 반환합니다.

728x90
반응형

관련글 더보기

댓글 영역