牛逼,4.7k Star,Github上發(fā)現(xiàn)一款超強(qiáng)的開(kāi)源項(xiàng)目!!
哈嘍,大家好,我是月亮。一個(gè)工作n年的老程序員啦,平時(shí)喜歡在Github上瞎逛,順便淘一些有意思的小工具~
今天在Github上瞎逛的時(shí)候,發(fā)現(xiàn)了一個(gè)有趣的小項(xiàng)目,但是由于一些特殊的原因,猶豫了一下要不要推薦給大家。
后來(lái)想了想,還是推薦吧,畢竟這個(gè)項(xiàng)目還是很好玩的。
至于為什么好玩的項(xiàng)目,有不想推薦給大家的打算呢... ...
完全是因?yàn)樵铝潦莻€(gè)老java程序員,能掄動(dòng)的大刀只有java和js。
而今天這個(gè)項(xiàng)目,他喵的,使用的語(yǔ)言是python。
不過(guò)沒(méi)關(guān)系,拿出我200分鐘的python開(kāi)發(fā)經(jīng)驗(yàn),還是能夠hold住的~
題外話(huà):簡(jiǎn)單易學(xué),是python最大的優(yōu)點(diǎn),只要你會(huì)其他的編程語(yǔ)言,學(xué)python真的是分分鐘就能入門(mén)。
希望大家不要被編程語(yǔ)言限制住了好奇心。
持續(xù)保持探索的心態(tài),才是一個(gè)程序員不斷精進(jìn)的秘訣。
項(xiàng)目簡(jiǎn)介
今天給大家推薦的項(xiàng)目是rembg。
rembg是一個(gè)去除圖片背景的工具,一行代碼輕松地就能去掉圖片的背景,那可不比手動(dòng)摳圖快得多嘛。
想想用PS的經(jīng)歷,一點(diǎn)一點(diǎn)地把要摳的內(nèi)容圈出來(lái),這個(gè)過(guò)程老費(fèi)時(shí)間了。
敲代碼多炫酷,敲兩行代碼就能搞定的事兒,干嘛還得在操作界面上點(diǎn)點(diǎn)點(diǎn)... ...
rembg在Github上已經(jīng)有4.1k Star了,趕緊來(lái)嘗試一下。
安裝第三方庫(kù)
這里大家要注意一下,rembg支持的python版本是3.9,如果版本不對(duì)應(yīng)需要調(diào)整一下。
并且只能使用python3.9。
我安裝的python版本是3.9.5,使用rembg沒(méi)有任何問(wèn)題,大家可以參考一下我的版本。
安裝命令如下:
#CPU支持 pip install rembg #GPU支持 pip install rembg[gpu]
果然,還是踩坑了,安裝的過(guò)程出現(xiàn)問(wèn)題了。
其實(shí)錯(cuò)誤信息不看也罷,最后排查出問(wèn)題的根源,完全就是因?yàn)榫W(wǎng)絡(luò)導(dǎo)致的,沒(méi)有代碼層面的事兒。
只要你把網(wǎng)絡(luò)調(diào)整一下,能夠穩(wěn)定地使用谷歌搜索,基本就能正常安裝了。
去除單張圖片背景
命令行模式
安裝完成可以直接在命令行中進(jìn)行調(diào)用,連python代碼都不用寫(xiě)。
參考命令如下:
rembg i 原圖全路徑 輸出圖片全路徑
rembg i D:/img/111.jpeg D:/img/aaa.jpeg
我先去下載了一張小姐姐的圖片,給大家看一下原圖是這樣的。
摳圖效果簡(jiǎn)直了,比我手動(dòng)用PS摳出來(lái)的效果還要好!
代碼模式
同樣的功能,如果想要在python代碼中實(shí)現(xiàn),可參考下面這段代碼。
大家自己嘗試的時(shí)候,只需要修改一下圖片的路徑就可以了。
from rembg import remove # 輸入圖片路徑 input_path = 'D:/img/111.jpeg' # 輸出圖片路徑 output_path = 'D:/img/aaa.jpeg' with open(input_path, 'rb') as i: with open(output_path, 'wb') as o: input = i.read() output = remove(input) o.write(output)
去除文件夾所有圖片背景
上面介紹了單張圖片背景的方法,那去除多張圖片的背景呢?
作為程序員,處理一條數(shù)據(jù)和多條數(shù)據(jù)能有啥區(qū)別?套個(gè)循環(huán)不就能搞定了。
但是rembg已經(jīng)幫我們考慮到這個(gè)問(wèn)題了,完全不需要自己寫(xiě)循環(huán)去處理。
同樣一條簡(jiǎn)單的命令就能搞定:
rembg p 輸入文件夾 輸出文件夾
rembg p d:/img d:/img2
去除網(wǎng)絡(luò)圖片背景
除開(kāi)這兩項(xiàng)基本功能,rembg還支持給定圖片的網(wǎng)絡(luò)地址,直接把圖片去除背景后給我們下載在本地。
同樣也只需要一個(gè)簡(jiǎn)單的命令就能搞定,連下載圖片的操作都省去了,我就想問(wèn)一句:6 不 6 ?
命令參考如下:
curl -s 網(wǎng)絡(luò)圖片路徑 | rembg i > 存儲(chǔ)位置全路徑
curl -s https://xxx.com/9f6d15e60674.jpg | rembg i > d:/img/666.png
其他功能
除開(kāi)上面介紹到的功能,rembg還能作為單獨(dú)的一個(gè)服務(wù)使用。
這個(gè)用法稍微麻煩一點(diǎn),最簡(jiǎn)單的使用方式就是用命令行來(lái)操作。
不過(guò),大家有興趣可以自行嘗試作為服務(wù)的使用方法。
好了,今天的介紹就到這里,咱們下期見(jiàn)~
項(xiàng)目地址
公眾號(hào)后臺(tái)回復(fù)rembg,即可獲取rembg項(xiàng)目地址。