python

pythonで簡単に画像の背景削除する方法 | rembgの使い方ガイド

この記事ではpythonのrembgというライブラリを使って、画像の背景を削除する方法を紹介します。

この記事を見ることで、背景を取り除いた人物や動物画像を作成する方法を知ることができ、資料作成などの素材作成を効率化することができます。

この記事を読むとできること

この記事を見ることで、以下のように背景を取り除いた(透明化した)画像を作成する方法を知ることができます。

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を実行すると、以下のような結果が得られます。男の人とスーツケースのみが抽出され、背景の画像が削除されています。

rembgによる背景削除の実行結果

まとめ

pythonで画像の背景を削除する方法として、rembgというライブラリを使用する方法を紹介しました。たった5行で実行できるため簡単にかつ綺麗な背景削除処理ができます。このコードをベースとして、複数の画像を読み込んで処理するようなコードにすれば、背景画像の削除を自動化することもできそうです。

pythonコードとして作っておけばそれを関数化して活用できそうです。これをベースにChatGPTに活用方法およびコードの提案をしてもらうのもありですね。

所長
所長

ChatGPTを使ってpythonコードを作成する方法は以下をご参照ください!

PythonとOpenCVのコードをChatGPTで自動生成する

この記事では、ChatGPTを使ってpythonのコードを作成する事例を紹介します。 https://openai.com/chatgpt/ ChatGPTでコード生成するもの 今回は以下のPytho ...

続きを見る

-python