牛逼,4.7k Star,Github上發(fā)現(xiàn)一款超強(qiáng)的開源項目??!
哈嘍,大家好,我是月亮。一個工作n年的老程序員啦,平時喜歡在Github上瞎逛,順便淘一些有意思的小工具~
今天在Github上瞎逛的時候,發(fā)現(xiàn)了一個有趣的小項目,但是由于一些特殊的原因,猶豫了一下要不要推薦給大家。
后來想了想,還是推薦吧,畢竟這個項目還是很好玩的。
至于為什么好玩的項目,有不想推薦給大家的打算呢... ...
完全是因?yàn)樵铝潦莻€老java程序員,能掄動的大刀只有java和js。
而今天這個項目,他喵的,使用的語言是python。
不過沒關(guān)系,拿出我200分鐘的python開發(fā)經(jīng)驗(yàn),還是能夠hold住的~
題外話:簡單易學(xué),是python最大的優(yōu)點(diǎn),只要你會其他的編程語言,學(xué)python真的是分分鐘就能入門。
希望大家不要被編程語言限制住了好奇心。
持續(xù)保持探索的心態(tài),才是一個程序員不斷精進(jìn)的秘訣。
項目簡介
今天給大家推薦的項目是rembg。
rembg是一個去除圖片背景的工具,一行代碼輕松地就能去掉圖片的背景,那可不比手動摳圖快得多嘛。
想想用PS的經(jīng)歷,一點(diǎn)一點(diǎn)地把要摳的內(nèi)容圈出來,這個過程老費(fèi)時間了。
敲代碼多炫酷,敲兩行代碼就能搞定的事兒,干嘛還得在操作界面上點(diǎn)點(diǎn)點(diǎn)... ...
rembg在Github上已經(jīng)有4.1k Star了,趕緊來嘗試一下。


安裝第三方庫
這里大家要注意一下,rembg支持的python版本是3.9,如果版本不對應(yīng)需要調(diào)整一下。
并且只能使用python3.9。
我安裝的python版本是3.9.5,使用rembg沒有任何問題,大家可以參考一下我的版本。

安裝命令如下:
#CPU支持 pip install rembg #GPU支持 pip install rembg[gpu]
果然,還是踩坑了,安裝的過程出現(xiàn)問題了。

其實(shí)錯誤信息不看也罷,最后排查出問題的根源,完全就是因?yàn)榫W(wǎng)絡(luò)導(dǎo)致的,沒有代碼層面的事兒。
只要你把網(wǎng)絡(luò)調(diào)整一下,能夠穩(wěn)定地使用谷歌搜索,基本就能正常安裝了。
去除單張圖片背景
命令行模式
安裝完成可以直接在命令行中進(jìn)行調(diào)用,連python代碼都不用寫。
參考命令如下:
rembg i 原圖全路徑 輸出圖片全路徑
rembg i D:/img/111.jpeg D:/img/aaa.jpeg
我先去下載了一張小姐姐的圖片,給大家看一下原圖是這樣的。
摳圖效果簡直了,比我手動用PS摳出來的效果還要好!
代碼模式
同樣的功能,如果想要在python代碼中實(shí)現(xiàn),可參考下面這段代碼。
大家自己嘗試的時候,只需要修改一下圖片的路徑就可以了。
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ū)別?套個循環(huán)不就能搞定了。
但是rembg已經(jīng)幫我們考慮到這個問題了,完全不需要自己寫循環(huán)去處理。
同樣一條簡單的命令就能搞定:
rembg p 輸入文件夾 輸出文件夾
rembg p d:/img d:/img2
去除網(wǎng)絡(luò)圖片背景
除開這兩項基本功能,rembg還支持給定圖片的網(wǎng)絡(luò)地址,直接把圖片去除背景后給我們下載在本地。
同樣也只需要一個簡單的命令就能搞定,連下載圖片的操作都省去了,我就想問一句:6 不 6 ?
命令參考如下:
curl -s 網(wǎng)絡(luò)圖片路徑 | rembg i > 存儲位置全路徑
curl -s https://xxx.com/9f6d15e60674.jpg | rembg i > d:/img/666.png
其他功能
除開上面介紹到的功能,rembg還能作為單獨(dú)的一個服務(wù)使用。
這個用法稍微麻煩一點(diǎn),最簡單的使用方式就是用命令行來操作。
不過,大家有興趣可以自行嘗試作為服務(wù)的使用方法。
好了,今天的介紹就到這里,咱們下期見~
項目地址
公眾號后臺回復(fù)rembg,即可獲取rembg項目地址。