この記事ではpythonのrembgというライブラリを使って、画像の背景を削除する方法を紹介します。
この記事を見ることで、背景を取り除いた人物や動物画像を作成する方法を知ることができ、資料作成などの素材作成を効率化することができます。
この記事を読むとできること
この記事を見ることで、以下のように背景を取り除いた(透明化した)画像を作成する方法を知ることができます。
出力画像はpng形式で背景は透明になります。パワーポイントなどの資料に使いやすいです。
rembgについて
rembgは、画像の背景を削除するpythonライブラリです。画像に写っているオブジェクト(人や動物、モノなど)を識別し、それ以外の部分を削除(透明化)を少ないコードで実施することができます。
rembgの実態はu2netという機械学習のモデルが使用されています。画像内の物体を識別し、その部分を切り離すような処理が可能なモデルです。
rembgはこのu2netを簡単なコードで使えるようにしたライブラリと捉えることもできます。
rembgの使い方
環境準備
rembgを使用するために必要な環境を準備します。
pythonのインストール
pythonをインストールします。
ライブラリのインストール
rembgを使用するために必要なライブラリをインストールします。
まずは、rembgそのものをインストールします。rembgと関連するライブラリが自動でインストールされます。
pip install rembg
onyxruntimeというライブラリも使用するので、これもインストールします。
pip install onyxruntime
画像データを扱うため、pillowsもインストールします。(インストールされていない場合のみ)
pip install pillows
pythonコード作成
画像の削除するpythonコードを作成します。
といっても、コードは以下のたった5行だけです。
from rembg import remove
from PIL import Image
input = Image.open('test.jpg')
output = remove(input)
output.save('output.png')
pythonコードの解説
たった5行ですが、解説です。
1. 最初に以下により、画像の背景を削除する関数と、画像データを扱うライブラリをインポートします
from rembg import remove
from PIL import Image
2.対象の画像を読み込みます。ここでは、test.jpgという名前の画像データとしています
input = Image.open('test.jpg')
3.rembgの関数を使って画像の背景を削除します
output = remove(input)
4.処理後の画像をoutput.pngという名前で出力します
output.save('output.png')
pythonコードの実行
入力画像をtest.jpgという名前にして、pythonコードと同じディレクトリに保存します。
今回は以下のフリー素材サイトから写真を使用しました。
フリー素材(写真)については以下もご覧ください!
-
会員登録不要!無料で使える素材 おすすめサイト10選(写真編)
無料で会員登録不要の写真を扱うサイトを10つ紹介します。
続きを見る
pythonを実行すると、以下のような結果が得られます。男の人とスーツケースのみが抽出され、背景の画像が削除されています。
まとめ
pythonで画像の背景を削除する方法として、rembgというライブラリを使用する方法を紹介しました。たった5行で実行できるため簡単にかつ綺麗な背景削除処理ができます。このコードをベースとして、複数の画像を読み込んで処理するようなコードにすれば、背景画像の削除を自動化することもできそうです。
pythonコードとして作っておけばそれを関数化して活用できそうです。これをベースにChatGPTに活用方法およびコードの提案をしてもらうのもありですね。
ChatGPTを使ってpythonコードを作成する方法は以下をご参照ください!
-
PythonとOpenCVのコードをChatGPTで自動生成する
この記事では、ChatGPTを使ってpythonのコードを作成する事例を紹介します。 https://openai.com/chatgpt/ ChatGPTでコード生成するもの 今回は以下のPytho ...
続きを見る