본문 바로가기
  • 야근없는 삶을 위하여
파이썬

Python 이미지 배경제거 rembg (누끼따기)

by 우당코 2024. 3. 26.
반응형

rembg로 이미지 배경 제거하기

파이썬을 이용해서 쉽게 이미지의 배경을 제거할 수 있다.

 

rembg 라이브러리를 이용하자.

 

더 자세한 내용을 알고 싶다면 아래 내용 참고.

GitHub - danielgatis/rembg: Rembg is a tool to remove images background

 

GitHub - danielgatis/rembg: Rembg is a tool to remove images background

Rembg is a tool to remove images background. Contribute to danielgatis/rembg development by creating an account on GitHub.

github.com

 

1. 라이브러리 설치

a. rembg 라이브러리 설치

위 사이트를 참고해서 라이브러리를 설치해 보자.

 

나는 GPU support를 이용한 설치를 했다.

pip install rembg[gpu,cli]

 

사이트에 나와 있는 것처럼 그냥 사용할 사람은 그냥 설치만 해도 된다.

pip install rembg # for library

 

뭔가 있어 보이는 https://onnxruntime.ai 에 접속해서 onnxruntime-gpu도 설치해 보자.

 

 

위 이미지 처럼 차례차례 선택하고 Installation Instructions에 나오는 명령어로 추가 설치  pip install onnxruntime-gpu

 

b. pillow 라이브러리 설치

이미지를 편집하기 위해서 pillow 라이브러리를 설치하자.

pip install pillow

 

2. 파이썬에 적용.

from PIL import Image
from rembg import remove

img_path = "Cosmetics.jpg"  # 원본 이미지
out_path = 'Cosmetics_rembg.png'  # 저장될 이미지

img = Image.open(img_path)  # 이미지 불러오기
out = remove(img)  # 배경 제거
out.save(out_path)  # 파일로 저장

 

간단하게 처리가 가능하다.

 

원본 이미지

 

 

결과 이미지

 

 

그럭저럭 제거가 가능하다.

깔끔하게 제거가 가능한 버전은 온라인 사이트에 유로로 배포중이다.

 

이미지 배경 제거, 투명 배경 만들기 – remove.bg

사진이나 이미지 배경을 한 번 클릭으로 5초만에 무료로 제거할 수 있습니다. 이미지 배경 투명하게 만드는 법. 누끼 따기 프로그램.

www.remove.bg

 

3. Session 사용

rembg GitHub 페이지 하단을 내려보면 Models라고 되어 있는 부분이 있다.

 

이 녀석을 사용해 보자.

from rembg import remove, new_session
from PIL import Image

img_path = "Cosmetics.jpg"
out_path = 'Cosmetics_rembg.png'

img = Image.open(img_path)

model_name = "isnet-general-use"  # 여기에 모델 이름을 넣자
session = new_session(model_name)
out = remove(img, session=session)
out.save(out_path)

결과물

위와 다르게 결과물이 나온다.

 

본인에게 필요한 모델을 사용하면 되겠다.

 

4. 모델 비교

이번에는 각 모델을 비교해 보겠다.

 

사진을 바꿔서 테스트

 

다시 다른 사진으로 테스트

 

간단한 누끼는 rembg가 사용 가능할 듯 하지만 복잡한 이미지는 사람의 손이 필요한 듯하다.

 

반응형