Rembg というライブラリが面白そうだったので、触ってみました!
目次
Rembg で画像の背景を削除する
このツイートで Rembg を知りました!
Rembg
Rembg というライブラリを使って、背景削除・背景透過をおこないます。
U2Net というアルゴリズムが使われているようです。
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.
一括で画像の背景を透過させる
動作確認環境
ローカル環境の python のバージョンは 3.10.6 でした。
$ python --version
Python 3.10.6
pip install rembg
pip でインストールします。
pip install rembg
rembg-all.py
指定のフォルダにある画像を一括で背景透過処理できるように、glob
と組み合わせてみました。
from rembg import remove
from PIL import Image
import os
import glob
print('start...')
# 変換前の画像を格納したフォルダ名
ORIGINAL_IMG_DIR = 'original/'
# 変換後の画像を格納したフォルダ名
REMOVED_IMG_DIR = 'removed/'
# 格納先フォルダがなければ作成する
os.makedirs(REMOVED_IMG_DIR, exist_ok=True)
# 画像を取得する
files = glob.glob(ORIGINAL_IMG_DIR + '*.jpg')
for file in files:
# 拡張子を png に変更する
file_name = os.path.splitext(os.path.basename(file))[0] + '.png'
input = Image.open(file)
# 画像の背景を透過させて保存する
output = remove(input)
output.save(REMOVED_IMG_DIR + file_name)
print('finish!')
背景透過に対応した拡張子である png に変換させる必要があります。
jpg や jpeg のままだとエラーになるので注意が必要です!
以下のコマンドで実行します。
pyhthon rembg-app.py
背景透過させてみた
実家で飼っていたイッヌの画像で試してみました!
すごい精度ですね…!
まとめ
pip install するだけで簡単に背景透過できる、便利すぎる。
References
ポチップ
コメント