百名山 API を開発しました | mountix APICLICK !

Python ライブラリ Rembg で画像の背景透過を一括でおこなう

  • URLをコピーしました!

Rembg というライブラリが面白そうだったので、触ってみました!

目次

Rembg で画像の背景を削除する

このツイートで Rembg を知りました!

Rembg

Rembg というライブラリを使って、背景削除・背景透過をおこないます。

U2Net というアルゴリズムが使われているようです。

一括で画像の背景を透過させる

動作確認環境

ローカル環境の 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

この記事が気に入ったら
フォローしてね!

  • URLをコピーしました!

コメント

コメントする

目次