말랑말랑제리스타일

파이썬으로 자동으로 누끼따서 배경 제거하기 본문

프로그래밍/파이썬

파이썬으로 자동으로 누끼따서 배경 제거하기

제리제리 2023. 6. 13. 13:16

요즘 포토샵에도 자동으로 누끼를 따서 배경 제거해 주는 기능이 있죠? 이 기능을 파이썬 코드 5줄로 만들어낼 수 있습니다. 간단히 rembg라는 라이브러리를 사용하는 방법입니다.

자동으로 배경을 제거해주는 라이브러리 rembg 설치

반응형

먼저 필요한 라이브러리인 rembg를 설치해 줍니다.

터미널에 아래와 같이 입력해 주세요.

pip install rembg

자 그러면 아래와 같이 자동으로 설치가 진행될 겁니다.

파이썬 배경 제거용 rembg 설치
파이썬 배경 제거용 rembg 설치

다음으로 파이썬에서 이미지를 사용하기 위해서 pillow를 설치해 줍니다.

명령어는 아래와 같습니다.

pip install -U Pillow

opencv를 설치했다면 opencv를 사용하셔도 무관합니다.

파이썬 rembg 라이브러리를 사용해서 배경 제거하기

반응형

이제 간단한 소스로 파이썬에서 배경을 제거하고 해당 이미지를 저장하는 소스를 작성해 봅시다.

from rembg import remove
from PIL import Image

input = Image.open('testImg.jpg') # load image
output = remove(input) # remove background
output.save('rembg.PNG') # save image

소스는 다섯 줄이면 충분합니다.

주의할 점은 input은 jpg든 png든 상관없는 것 같은데, 출력은 반드시 png 파일이어야 한다는 점입니다.

기능은 Image.open으로 이미지를 열어주고 해당 이미지를 rembg를 이용해 배경을 제거해 준 뒤 output에다 저장하는 기능입니다. 참고로 실행이 그렇게 빠르지는 않고 TBB 에러가 발생하는 경우 아래쪽에 에러 대응 방법 작성해 뒀습니다.

파이썬 소스 다섯줄로 배경 제거하기 결과
파이썬 소스 다섯줄로 배경 제거하기 결과

하지만 배경이 다소 복잡한데도 불구하고 성공적으로 배경이 제거된 것을 확인할 수 있고 무료로 사용할 수 있는 오픈 라이브러리라는 점에서 상당히 유용할 수 있죠.

참고로 remove.bg는 사이트에서 배경 제거는 무료로 계속 사용 가능하지만 api 사용 시 월 50회인가 이상이 되면, 크레딧이 있어야 하는 제약이 있어 찾은 방법이고, Open CV로 배경을 제거하는 방법은 아직 사용을 해보지는 않았는데 사실상 rembg 라이브러리보다는 훨씬 복잡하죠.

TBB 에러가 발생할 경우

반응형

혹시나 하단의 TBB 에러가 발생할 수 있는데요.

CE_VERSION = 9107. The TBB threading layer is disabled.

아래와 같은 명령어로 tbb를 업그레이드해주면 해결됩니다.

pip install --upgrade tbb

 

Comments