激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語(yǔ)言編程技術(shù)及教程分享平臺(tái)!
分類(lèi)導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - 5行Python代碼實(shí)現(xiàn)一鍵批量扣圖

5行Python代碼實(shí)現(xiàn)一鍵批量扣圖

2021-12-09 10:28狂師vs Python

在日常生活或者工作中,經(jīng)常會(huì)遇到想將某張照片中的人物摳出來(lái),本文就介紹了Python代碼實(shí)現(xiàn)一鍵批量扣圖,感興趣的可以了解一下

今天給大家分享一款python裝逼實(shí)用神器。

在日常生活或者工作中,經(jīng)常會(huì)遇到想將某張照片中的人物摳出來(lái),然后拼接到其他圖片上去。專(zhuān)業(yè)點(diǎn)的人可以使用 photoshop 的“魔棒”工具進(jìn)行摳圖,非專(zhuān)業(yè)人士則使用各種美圖 app 來(lái)實(shí)現(xiàn),但是這兩類(lèi)方式畢竟處理能力有限,一次只能處理一張圖片,而且比較復(fù)雜的圖像可能耗時(shí)較久。那今天就來(lái)向大家展示第三種扣圖方式——用 python代碼來(lái)實(shí)現(xiàn) 一鍵批量摳圖。

1. 準(zhǔn)備工作- 安裝paddlepaddle

既然要裝逼,準(zhǔn)備工作是少不了的。所謂“站在巨人的肩膀上,干起活來(lái)事半功倍”,我們這里的“巨人”就是 paddlepaddle 了,中文名稱(chēng)叫“飛槳”,那么這個(gè) paddlepaddle 是什么呢?

它是“源于產(chǎn)業(yè)實(shí)踐的開(kāi)源深度學(xué)習(xí)平臺(tái),致力于讓深度學(xué)習(xí)技術(shù)的創(chuàng)新與應(yīng)用更簡(jiǎn)單”,直白點(diǎn)就是我?guī)湍銓?shí)現(xiàn)了深度學(xué)習(xí)底層框架,你只要有創(chuàng)意就可以在我平臺(tái)上運(yùn)用少量簡(jiǎn)單代碼輕松實(shí)現(xiàn)。它的官網(wǎng)是::https://www.paddlepaddle.org.cn/。

它的安裝比較簡(jiǎn)單,官網(wǎng)首頁(yè)就有安裝指引,可以通過(guò)「安裝」菜單,查找到各個(gè)系統(tǒng)安裝詳細(xì)及注意事項(xiàng),如下圖所示,我們這里根據(jù)官網(wǎng)的安裝指引,使用 pip 方式來(lái)安裝 cpu 版本。

5行Python代碼實(shí)現(xiàn)一鍵批量扣圖

本文以macos系統(tǒng)為例:

我們首先執(zhí)行以下命令安裝(推薦使用百度源)::

?
1
python3 -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple

或者:

?
1
python3 -m pip install paddlepaddle -i https://pypi.tuna.tsinghua.edu.cn/simple

從安裝過(guò)程中,可以看到在安裝paddlepaddle庫(kù)時(shí),需要安裝如下依賴(lài)庫(kù):

?
1
2
3
4
5
6
7
installing collected packages: pathlib, click, joblib, regex, tqdm, nltk, gast, rarfile, pyyaml, funcsigs, paddlepaddle
  running setup.py install for pathlib ... done
  running setup.py install for regex ... done
  running setup.py install for nltk ... done
  running setup.py install for rarfile ... done
  running setup.py install for pyyaml ... done
successfully installed click-7.1.2 funcsigs-1.0.2 gast-0.3.3 joblib-0.14.1 nltk-3.5 paddlepaddle-1.8.0 pathlib-1.0.1 pyyaml-5.3.1 rarfile-3.1 regex-2020.5.7 tqdm-4.46.0

安裝成功后,我們?cè)?python 環(huán)境中測(cè)試一下是否安裝成功(這個(gè)也是按照官網(wǎng)指引來(lái)做),我們切換到 python 環(huán)境,運(yùn)行如下代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
?  ~ python3
python 3.7.4 (default, jul  9 201918:15:00)
[clang 10.0.0 (clang-1000.11.45.5)] on darwin
type "help""copyright""credits" or "license" for more information.
>>> import paddle.fluid
>>> paddle.fluid.install_check.run_check()
running verify fluid program ...
your paddle fluid works well on single gpu or cpu.
w0512 17:41:31.037240 2844976000 build_strategy.cc:170] fusion_group is not enabled for windows/macos now, and only effective when running with cuda gpu.
w0512 17:41:31.043959 2844976000 fuse_all_reduce_op_pass.cc:74] find all_reduce operators: 2. to make the speed faster, some all_reduce ops are fused during training, after fusion, the number of all_reduce ops is 1.
your paddle fluid works well on mutiple gpu or cpu.
your paddle fluid is installed successfully! let's start deep learning with paddle fluid now

如果能看到 your paddle fluid is installed successfully 就表示安裝成功了。

2. 準(zhǔn)備工作- 安裝paddlehub

要實(shí)現(xiàn)本文的一鍵批量扣圖需求,需要借助paddlehub人像分割模型來(lái)實(shí)現(xiàn)。

paddlehub 是基于 paddlepaddle 開(kāi)發(fā)的預(yù)訓(xùn)練模型管理工具,可以借助預(yù)訓(xùn)練模型更便捷地開(kāi)展遷移學(xué)習(xí)工作,目前的預(yù)訓(xùn)練模型涵蓋了圖像分類(lèi)、目標(biāo)檢測(cè)、詞法分析、語(yǔ)義模型、情感分析、視頻分類(lèi)、圖像生成、圖像分割、文本審核、關(guān)鍵點(diǎn)檢測(cè)等主流模型。

PaddleHub官網(wǎng):https://www.paddlepaddle.org.cn/hub

PaddleHub項(xiàng)目地址:https://github.com/PaddlePaddle/PaddleHub

更多PaddleHub預(yù)訓(xùn)練模型教程合集課程可見(jiàn):https://aistudio.baidu.com/aistudio/course/introduce/1070

介紹完了項(xiàng)目,接下來(lái)我們開(kāi)始在線安裝 paddlehub :

?
1
pip install -i https://mirror.baidu.com/pypi/simple paddlehub

或者按指定版本安裝:

?
1
pip install paddlehub==1.6.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

安裝完成后,我們就可以開(kāi)始運(yùn)用了。

3. 一鍵扣圖代碼實(shí)現(xiàn)

我們的實(shí)現(xiàn)步驟很簡(jiǎn)單:

  • 導(dǎo)入模塊
  • 加載模型
  • 獲取圖片文件
  • 調(diào)用模塊摳圖

其中扣圖功能主要采用paddlehub deeplabv3+模型deeplabv3p_xception65_humanseg

下面我們看具體扣圖代碼實(shí)現(xiàn)(demo.py):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import os
import paddlehub as hub
 
# 加載模型
humanseg = hub.module(name='deeplabv3p_xception65_humanseg')  
base_dir = os.path.abspath(os.path.dirname(__file__))
 
# 獲取當(dāng)前文件目錄
path = os.path.join(base_dir, 'images/')
# 獲取文件列表
files = [path + for in os.listdir(path)]  
print(files)
# 摳圖
results = humanseg.segmentation(data={'image': files})  
for result in results:
    print(result)

示例中,我將圖片放在代碼文件夾的同級(jí)目錄 images文件夾下,運(yùn)行代碼后,輸出的摳圖圖片會(huì)自動(dòng)放在代碼同級(jí)目錄的 humanseg_output 目錄下,文件名稱(chēng)跟原圖片的名稱(chēng)相同,但是文件格式是 png 。

其中示例 images 目錄下放了9張圖片,為了兼顧不同讀者喜好的口味,示例圖片中既包括了帥哥,也有美女哦,并且將他們縮略圖放大了,如下:

5行Python代碼實(shí)現(xiàn)一鍵批量扣圖

運(yùn)行程序后,上述示例代碼運(yùn)行結(jié)果如下所示。

5行Python代碼實(shí)現(xiàn)一鍵批量扣圖

運(yùn)行成功后,在 humanseg_output 目錄下生成了9張圖片,同樣的,扣圖的結(jié)果如下所示:

5行Python代碼實(shí)現(xiàn)一鍵批量扣圖

我們可以看到程序?qū)⒚繌垐D片中的人物(可以是一個(gè)人,也可以是多個(gè)人)識(shí)別出來(lái),并且摳出來(lái)成圖,背景是白色。雖然有些細(xì)節(jié)處還有些許瑕疵,但是看起來(lái)還算不錯(cuò)。

4. 需要注意的坑

在運(yùn)行示例代碼時(shí),如果沒(méi)有單獨(dú)安裝模型deeplabv3p_xception65_humanseg,默認(rèn)會(huì)自動(dòng)在執(zhí)行前進(jìn)行安裝。但安裝完成后,執(zhí)行結(jié)果并沒(méi)有生成扣圖結(jié)果及humanseg_output目錄,輸出結(jié)果類(lèi)似如下所示:

5行Python代碼實(shí)現(xiàn)一鍵批量扣圖

正常情況下,在生成扣圖數(shù)據(jù),打印results時(shí),應(yīng)該是類(lèi)似如下結(jié)構(gòu)才對(duì):

5行Python代碼實(shí)現(xiàn)一鍵批量扣圖

可以通過(guò)單獨(dú)安裝模型并指定安裝版本來(lái)解決。

?
1
hub install deeplabv3p_xception65_humanseg==1.0.0

具體原因沒(méi)有細(xì)究,默認(rèn)自動(dòng)安裝模型時(shí),版本為1.2.0,猜測(cè)由于還是模型版本不兼容問(wèn)題導(dǎo)致。

5. 總結(jié)

本文基于 paddlepaddle 平臺(tái),利用paddlehub deeplabv3+模型(deeplabv3p_xception65_humanseg),使用簡(jiǎn)單的五行代碼就實(shí)現(xiàn)了批量摳圖。有些讀者可能會(huì)想,上述示例中提供的代碼行數(shù)不止五行代碼吧,在上述示例中,真正實(shí)現(xiàn)扣圖的主代碼其實(shí)只需要下面五行:

?
1
2
3
4
5
humanseg = hub.module(name='deeplabv3p_xception65_humanseg')  
base_dir = os.path.abspath(os.path.dirname(__file__))
path = os.path.join(base_dir, 'images/')
files = [path + for in os.listdir(path)]  
results = humanseg.segmentation(data={'image': files})  

利用paddlehub deeplabv3+模型 不僅可以實(shí)現(xiàn)一鍵扣圖,還可以進(jìn)行圖片合成,視頻合成等。利用好它不僅解放了人的雙手和雙眼,而且為某些程序猿/程序媛的裝逼工具箱提供了一件寶器。下次如果碰到某個(gè)女生或者閨蜜在為摳圖發(fā)愁,別忘了掏出神器,贏得芳心哦!

paddlepaddle作為一款開(kāi)源的深度學(xué)習(xí)平臺(tái),本文介紹的扣圖訓(xùn)練模型只是其中的冰山一角,實(shí)戰(zhàn)訓(xùn)練預(yù)測(cè)模型種類(lèi)還遠(yuǎn)遠(yuǎn)不止,更多的場(chǎng)景結(jié)合,讀者們可自行挖掘。

到此這篇關(guān)于5行python代碼實(shí)現(xiàn)一鍵批量扣圖的文章就介紹到這了,更多相關(guān)python 批量扣圖內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/jinjiangongzuoshi/article/details/106230074

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: a级高清免费毛片av在线 | 一级毛片免费在线 | 欧美另类视频一区 | 国产视频在线观看一区二区三区 | 99国产精品自拍 | 中文字幕激情视频 | 欧美人禽 | 免费久久久久 | 亚洲福利在线观看视频 | 一级电影免费在线观看 | 国产免费一区二区三区 | hdhdhd69ⅹxxx黑人 | 蜜桃91麻豆 | 国产一区二区三区四区五区精品 | av免费在线播放网址 | 国产在线导航 | 高颜值美女啪啪 | 在线视频 日韩 | 午夜视频在线免费播放 | 成人男女啪啪免费观看网站四虎 | 亚洲国产精品久久久久久久久久 | 精品一区二区三区中文字幕老牛 | 久久精品国产亚洲aa级女大片 | 日韩大片在线永久观看视频网站免费 | 91色琪琪电影亚洲精品久久 | 久久国产精品91 | 国产精品久久久久久久亚洲按摩 | 老女人碰碰在线碰碰视频 | 欧美成网| 18视频在线观看娇喘 | 国产精品美女久久久久久网站 | 麻豆视频观看 | 久久久久久久久浪潮精品 | 亚洲无线看 | 久久免费精品 | 一区二区三区在线观看av | 99爱视频在线观看 | 天天透天天狠天天爱综合97 | 国产视频第一区 | 国产亚洲高清视频 | 亚洲特黄妇女高潮 |