[Python]画像の背景を自動的に削除する-Pythonマット、とても簡単

切り取る

PSカットアウトは複雑すぎ、ショートカットキーが多すぎて覚えられません。カットアウトが本当に必要な場合もあります。どうすればよいですか?ITの学習者として、私たちは自分で多くの興味深いものを作成できます。

removebgウェブサイトのAPIを使用して、自動マットを実現しています。これは、数行の簡単なPythonコードで実現できるため、非常に便利です。

見てみましょうか?

 

1.画像の背景を削除します

removebg ウェブサイト:https : //www.remove.bg/zh/upload

まず、removebg Webサイトにログインして登録し、アカウントのAPIキーを確認します

from removebg import RemoveBg

# 去除一张图片
rmbg = RemoveBg('', 'error.log') #‘’为你的API密钥
path = 'data/image'
rmbg.remove_background_from_img_file(f"{path}/1.jpg")#图片根据自己的照片名称来修改哦

次に、そこにあるコードに従って、パスを変更し、画像を選択します。ここでの画像の名前は1.jpgであることに注意してください。背景を削除した後の画像には、元の名前に_no_bg.pngが自動的に付けられ、背景が削除されます。画像は元の画像パスに保存されます。

 

2.複数の写真の背景を削除します

コードは前のコードと同じですが、ループが追加されていますが、これは非常に簡単でシンプルです。

import os
from removebg import RemoveBg

#扣除多张图片
rmbg = RemoveBg('', 'error.log') #还是API密钥
path = 'data/image/removebg'#还是照片路径
for pic in os.listdir(path):
    img_path = os.path.join(path, pic)
    rmbg.remove_background_from_img_file(img_path)
    print(f"{img_path} is done!")

一度に複数の画像を取得する場合、画像自体の形式が正しくないか一致していないためにエラーが発生する場合があることに注意してください。一般的な画像形式のエラーは次のように報告されます:

HyperText Transfer Protocol(HTTP)400 Bad Request

非常に暴力的な解決策は、この画像を削除することです。写真に2が欠けているので、どうやってそれを知ったのか尋ねないでください。

効果を見てみると、あまり要求の少ないカットアウト効果にも対応可能!

おすすめ

転載: blog.csdn.net/weixin_44566432/article/details/107840109