使用Python去除照片背景扇单,說(shuō)到去除照片背景的方法,我首先想到的是第三方接口(如:百度AI)焚虱,但本文重點(diǎn)在于免費(fèi)使用订框,不花錢(qián)的那種箭跳。
下面就開(kāi)始介紹兩種免費(fèi)去除照片背景的方法
第一種
第一種方法是:removebg(實(shí)際上還是第三方接口晨另,不過(guò)removebg是免費(fèi)的)
remove官方地址:
首先先注冊(cè)一個(gè)賬號(hào),然后訪(fǎng)問(wèn)下方鏈接獲取api_keys(代碼里面會(huì)用到)
https://www.remove.bg/api#remove-background
點(diǎn)擊Get API Key 即可獲取key值
獲取到key值后谱姓,咱們就開(kāi)編寫(xiě)python程序
# 導(dǎo)入庫(kù)
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")
樣例效果:
(圖片來(lái)源網(wǎng)絡(luò))
總結(jié)
優(yōu)點(diǎn):不限于證件照借尿,任何圖片都可以去除背景(包括全身照片以及多人合影照片等)
缺點(diǎn):這個(gè)方法只能免費(fèi)使用50次,超過(guò)50次就會(huì)提示報(bào)錯(cuò)(如下所示)
第二種
第二種方法就是backgroundremover屉来,其實(shí)就是一個(gè)Python庫(kù)
github地址:
https://github.com/nadermx/backgroundremover
使用很簡(jiǎn)單:就兩步(github介紹安裝中有一些沒(méi)必要安裝路翻,可忽略)
第一步:安裝庫(kù)
pip install backgroundremover
第二步:執(zhí)行命令
# backgroundremover -i "帶背景照片" -o "去除背景照片"
backgroundremover -i "cg.jpg" -o "cg_outopt.jpg"
Python方式調(diào)用:
# 導(dǎo)入庫(kù)
import os
os.system('backgroundremover -i "cg.jpg" -o "cg_output.jpg"')
原理:實(shí)際上就是python通過(guò)os去執(zhí)行終端命令。
注意:
在第二步時(shí)茄靠,初次使用需要下載模型(大概170m)茂契,下載地址是google,因此需要能夠訪(fǎng)問(wèn)google慨绳,才能下載掉冶。
不過(guò)不用擔(dān)心,我已經(jīng)把模型下載好了
鏈接:https://pan.baidu.com/s/13a4Aqmpm9ds7bswP-MgZhg a7de
下載好的模型需要放到當(dāng)前系統(tǒng)用戶(hù)的目錄下:
## Window10:
C:\Users\用戶(hù)\.u2net\u2net.pth
## Mac:
/Users/lyc/.u2net/u2net.pth
## Linux:
/root/.u2net/u2net.pth
如果找不到這個(gè)位置的脐雪,直接搜索.u2net****文件夾位置厌小,將模型放到.u2net文件夾也可以
樣例效果:
(圖片來(lái)源網(wǎng)絡(luò))
同一張照片,使用這兩種不同的方法去除背景
效果差別不大(推薦第二種方法)
總結(jié)
優(yōu)點(diǎn):不限次數(shù)使用战秋,不僅可以對(duì)照片去除背景璧亚,還可以對(duì)視頻去除背景(github上有使用方法,感興趣的可以去看看)