Pythonで画像切り抜き rembg

プログラミング

概要

AIにより背景画像を切り抜くことができる “rembg” の紹介です。
写真などの画像から被写体を切り抜きます。

rembg
Remove image background

インストール

インストール方法は、WindowsでGPUが無い場合は下の方法で

pip install onnxruntime # 入っていなければ
pip install "rembg[cpu,cli]"

GPUがあれば

pip install onnxruntime # 入っていなければ
pip install "rembg[gpu, cli]"

でインストールしてください。
“cli”は、”Command Line Interface”のことで”rembg”コマンドがインストールされます。

使い方

切り抜く対象を指定しなくてもAIのトレーニング済のモデルが自動的に切り抜いてくれます。
切り抜いた画像を返すほか、マスクを返すこともできます。
他にもモデルを選んだり多くの機能があります。
ここでは、簡単な紹介にとどめます。
詳細は、以下を参考にしてください。
https://pypi.org/project/rembg/

rembg コマンド

インストールすると”rembg”コマンドも一緒にインストールされます。

 rembg i input.jpg output.png

などとすることで “input.jpg” から切り抜き画像 “output.png” を作成します。

コード

from rembg import remove

input_path = 'input.jpg'
output_path = 'output.jpg'

with open(input_path, 'rb') as i:
    with open(output_path, 'wb') as o:
        input = i.read()
        output = remove(input)
        o.write(output)

 

このコードで “input.jpg” から “output.jpg” が作成されます。

参考画像

インプット画像

アウトプット画像

足元は、草に隠れていた部分なので消えています。
コマンド一つでこのくらい綺麗に切り抜ければ、かなり良いのでは。

インプット画像2

アウトプット画像2

うーん、影の濃い部分は切り抜かれてしまっていますね。
画像に用るのかな。

まとめ

 

Commnts