
使用Python去除照片背景,說到去除照片背景的方法,我首先想到的是第三方接口(如:百度AI),但本文重點在于免費使用,不花錢的那種。
下面就開始介紹兩種免費去除照片背景的方法
第一種
第一種方法是:removebg(實際上還是第三方接口,不過removebg是免費的)

remove官方地址:
首先先注冊一個賬號,然后訪問下方鏈接獲取api_keys(代碼里面會用到)
https://www.remove.bg/api#remove-background

點擊Get API Key 即可獲取key值

獲取到key值后,咱們就開編寫python程序
# 導(dǎo)入庫
from removebg import RemoveBg
api_keys = "上面獲取到的key值"
rmbg = RemoveBg(api_key, "error.log")
#rmbg.remove_background_from_img_file("圖片路徑")
rmbg.remove_background_from_img_file("chen.jpg")
樣例效果:

(圖片來源網(wǎng)絡(luò))
總結(jié)
優(yōu)點:不限于證件照,任何圖片都可以去除背景(包括全身照片以及多人合影照片等)
缺點:這個方法只能免費使用50次,超過50次就會提示報錯(如下所示)

第二種
第二種方法就是backgroundremover,其實就是一個Python庫
github地址:
https://github.com/nadermx/backgroundremover
使用很簡單:就兩步(github介紹安裝中有一些沒必要安裝,可忽略)
第一步:安裝庫
pip install backgroundremover
第二步:執(zhí)行命令
# backgroundremover -i "帶背景照片" -o "去除背景照片"
backgroundremover -i "cg.jpg" -o "cg_outopt.jpg"
Python方式調(diào)用:
# 導(dǎo)入庫
import os
os.system('backgroundremover -i "cg.jpg" -o "cg_output.jpg"')
原理:實際上就是python通過os去執(zhí)行終端命令。
注意:
在第二步時,初次使用需要下載模型(大概170m),下載地址是google,因此需要能夠訪問google,才能下載。
不過不用擔(dān)心,我已經(jīng)把模型下載好了
鏈接:https://pan.baidu.com/s/13a4Aqmpm9ds7bswP-MgZhg a7de
下載好的模型需要放到當(dāng)前系統(tǒng)用戶的目錄下:
## Window10:
C:\Users\用戶\.u2net\u2net.pth
## Mac:
/Users/lyc/.u2net/u2net.pth
## Linux:
/root/.u2net/u2net.pth
如果找不到這個位置的,直接搜索.u2net****文件夾位置,將模型放到.u2net文件夾也可以
樣例效果:

(圖片來源網(wǎng)絡(luò))
同一張照片,使用這兩種不同的方法去除背景
效果差別不大(推薦第二種方法)
總結(jié)
優(yōu)點:不限次數(shù)使用,不僅可以對照片去除背景,還可以對視頻去除背景(github上有使用方法,感興趣的可以去看看)