作成日:2023-04-19 ・更新日:2024-03-12
背景を透過するソフト、サービスを調べて見たが良いものが無かったので、qiitaでrembgを知った。
背景を透過するソフトやサービスを調べましたが、良いものが見つかりませんでした。そこで、qiitaでrembgというオープンソースの背景除去ツールを知りました。rembgを使用することで、画像から背景を除去することができます。
このツールは機械学習モデルを利用して、背景とオブジェクトを分離しているようです。
pipを使ってインストールでき、誰でも利用できます。具体的な使い方は以下の通りです。
私はstable-diffusionを「Google Colab」で、ローカルのPCでも使っています。
AIのおかげで膨大な画像が生成されますが、透過画像が欲しいと思いこのrembgに出会いました。
グラフィックボードを使ったGPU駆動も可能ですが、CPUでも十分な速度で変換するため、cuda等インストール不要で使うことができるので導入が比較的簡単です。
rembgを使用するにはPythonの環境が必要です。
rembgを使うにはpythonの環境が必要になります。
pythonのインストールは省略させて頂きます。
pythonの環境があるので,次の一行のコマンドだけでインストールができます。
pip install rembg
正常にインストールされている場合次のようになります。
rembg --version
#バージョンが返って来ます。
rembg, version 2.0.32
使い方は非常に簡単で、Pythonコードを書く必要もなく、コマンド一行で一つの画像ファイル、もしくはフォルダー内の画像を全て透過処理できます。
まず画像1つを透過させてみます。
rembg i filename.png outname.png
#ファイル名にスペース等が入っている場合があるのでダブルコーテーションで囲って上げればいいですね
rembg i "./filename.png" outfilename.png
ファイル単体で変換する運用はほとんど無いと思うのでフォルダー内の画像を全て透過画像に変換する際は、こちらのコマンドで実行ができます。 output用のフォルダーは先に作って置いてください。
rembg p "foldername" "outputfoldername"
# こんな感じで簡単にできちゃう
# rembg p ./a out
インストールが正常にできてないためか、次のエラーで起動ができない時期がありました。
onnxruntime::ProviderLibrary::Get [ONNXRuntimeError] : 1 : FAIL : LoadLibrary failed with error 126 "" when trying to load "c:\users\username\appdata\local\programs\python\python39\lib\site-packages\onnxruntime\capi\onnxruntime_providers_tensorrt.dll"
関連するパッケージを削除し、再度インストールを実行します。
#アンインストール
pip uninstall rembg
pip uninstall onnxruntime
#再度インストール
pip install rembg[gpu] onnxruntime-gpu
python環境さえあれば、すぐに使えるrembgはめちゃくちゃ便利だった。
フォルダー内の画像を全て変換してくれる優しい設計で、コマンド一行で全て変換してくれる
もっと早く知りたかったですね。
質問や、間違いがありましたら、お気軽にどうぞ
※お名前とコメントの内容を入力してください。
※全てこのブログ上に公表されます。
※許可なく管理者によって修正・削除する場合がございます。 詳しくはプライバシーポリシーを参照ください