最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實(shí)現(xiàn)一鍵摳圖的示例代碼

 更新時(shí)間:2022年08月07日 08:51:31   作者:夢想橡皮擦  
在日常的工作和生活中,我們經(jīng)常會遇到需要摳圖的場景,即便是只有一張圖片需要摳,也會摳得我們不耐煩。本文將為大家分享一個(gè)Python實(shí)現(xiàn)一鍵摳圖的示例代碼,需要的可以參考一下

需求來源

好友 A:橡皮擦,可否提供網(wǎng)頁,上傳帶人像的圖片,然后可以直接摳圖,最好直接生成 PNG 圖片下載。 橡皮擦:每天需要調(diào)用多少次? 好友 A:大概 100 次吧。 橡皮擦:妥了,給你寫個(gè)免費(fèi)的吧。

本案例的實(shí)戰(zhàn)需求是對圖片進(jìn)行摳圖,每日請求量為 100,來源依舊是好友求助,既然日請求量不大,那某智能云的人像分隔接口就可以使用了,申請之后,其贈送了 10000 次,每秒限制 2 次請求,足夠使用。

實(shí)現(xiàn)方法

從官方下載 Python API SDK 之后,得到下圖所示目錄:

然后進(jìn)入該目錄執(zhí)行下述命令安裝 SDK

python setup.py build
python setup.py install

安裝成功之后就可以通過 pip list 查看相關(guān)數(shù)據(jù)。

接下來需要創(chuàng)建一個(gè) AipBodyAnalysis,該對象是后續(xù)處理人像分析的核心對象。

新建 show_people.py 文件,輸入如下代碼:

from aip import AipBodyAnalysis

""" 你的 APPID AK SK """
APP_ID = '你的 App ID'
API_KEY = '你的 Api Key'
SECRET_KEY = '你的 Secret Key'

client = AipBodyAnalysis(APP_ID, API_KEY, SECRET_KEY)

其中 App ID,Api KeySecret Key 都需要提前在平臺方申請使用。

接下來就可以使用人像分隔主體函數(shù)了,代碼如下:

client = AipBodyAnalysis(APP_ID, API_KEY, SECRET_KEY)
""" 讀取圖片 """
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

image = get_file_content('./demo.png')

""" 調(diào)用人像分割 """
ret = client.bodySeg(image)

print(ret)

代碼用到的測試圖為:

運(yùn)行后提示 ModuleNotFoundError: No module named 'chardet',使用 pip install chardet 安裝缺少模塊。

上述 client.bodySeg(image) 函數(shù)的參數(shù)如下所示:

image:圖像數(shù)據(jù),base64 編碼,要求 base64 編碼后大小不超過 4M,最短邊至少 15px,最長邊最大 4096px,支持 jpg/png/bmp 格式;

type:可以通過設(shè)置 type 參數(shù),自主設(shè)置返回哪些結(jié)果圖,避免造成帶寬的浪費(fèi)

可選值說明:

  • labelmap - 二值圖像,需二次處理方能查看分割效果
  • scoremap - 人像前景灰度圖
  • foreground - 人像前景摳圖,透明背景

type 參數(shù)值可以是可選值的組合,用逗號分隔;如果無此參數(shù)默認(rèn)輸出全部 3 類結(jié)果圖

基于上述配置,在方法調(diào)用時(shí)添加參數(shù),獲取人像前景摳圖。

""" 如果有可選參數(shù) """
options = {}
options["type"] = "foreground"

""" 帶參數(shù)調(diào)用人像分割 """
ret = client.bodySeg(image, options)
print(ret)

返回參數(shù)列表如下所示:

  • labelmap:分割結(jié)果圖片,base64 編碼之后的二值圖像,需二次處理方能查看分割效果
  • scoremap :分割后人像前景的 scoremap,歸一到 0-255,不用進(jìn)行二次處理,直接解碼保存圖片即可。Base64 編碼后的灰度圖文件,圖片中每個(gè)像素點(diǎn)的灰度值 = 置信度 * 255,置信度為原圖對應(yīng)像素點(diǎn)位于人體輪廓內(nèi)的置信度,取值范圍[0, 1]
  • foreground:分割后的人像前景摳圖,透明背景,Base64 編碼后的 png 格式圖片,不用進(jìn)行二次處理,直接解碼保存圖片即可。將置信度大于 0.5 的像素?fù)赋鰜恚⑼ㄟ^ image matting 技術(shù)消除鋸齒
  • person_num:檢測到的人體框數(shù)目
  • person_info:人體框信息

此時(shí)輸出 person_num 就可以獲得人像數(shù)量,測試代碼如下所示。

ret = client.bodySeg(image, options)
print(ret["person_num"]) # 輸出 1

接下來直接保存前景摳圖,導(dǎo)入 base64 模塊,直接解碼保存即可。

""" 帶參數(shù)調(diào)用人像分割 """
ret = client.bodySeg(image, options)
data = ret["foreground"]

data = base64.b64decode(data)
# 生成圖片
with open("./fore.png",'wb') as f:
    f.write(data)

最后在使用一張復(fù)雜些的圖片進(jìn)行測試,背景去除的非常干凈。

到此這篇關(guān)于Python實(shí)現(xiàn)一鍵摳圖的示例代碼的文章就介紹到這了,更多相關(guān)Python摳圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 用python爬取電腦壁紙實(shí)例代碼

    用python爬取電腦壁紙實(shí)例代碼

    大家好,本篇文章主要講的是用python爬取電腦壁紙實(shí)例代碼,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • Python中使用threading.Event協(xié)調(diào)線程的運(yùn)行詳解

    Python中使用threading.Event協(xié)調(diào)線程的運(yùn)行詳解

    這篇文章主要介紹了Python中使用threading.Event協(xié)調(diào)線程的運(yùn)行詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Python實(shí)現(xiàn)json對值進(jìn)行模糊搜索的示例詳解

    Python實(shí)現(xiàn)json對值進(jìn)行模糊搜索的示例詳解

    我經(jīng)常使用json進(jìn)行存儲配置,于是常常遇到這樣的問題:如果想要對某個(gè)數(shù)組里的值進(jìn)行模糊搜索,同時(shí)輸出相關(guān)的其他數(shù)組相同位置的的值該如何實(shí)現(xiàn)呢?本文就來和大家詳細(xì)聊聊
    2023-01-01
  • Flask利用自定義接口實(shí)現(xiàn)mock應(yīng)用詳解

    Flask利用自定義接口實(shí)現(xiàn)mock應(yīng)用詳解

    后端接口已提供,前端需要依賴后端接口返回的數(shù)據(jù)進(jìn)行前端頁面的開發(fā),如何配合前端?這篇就來介紹一下Flask如何利用自定義接口實(shí)現(xiàn)mock應(yīng)用,需要的可以參考一下
    2023-03-03
  • 基于python實(shí)現(xiàn)上傳文件到OSS代碼實(shí)例

    基于python實(shí)現(xiàn)上傳文件到OSS代碼實(shí)例

    這篇文章主要介紹了基于python實(shí)現(xiàn)上傳文件到OSS,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 利用Python獲取操作系統(tǒng)信息實(shí)例

    利用Python獲取操作系統(tǒng)信息實(shí)例

    作為一個(gè)運(yùn)維人員,經(jīng)常需要獲取系統(tǒng)的的各種信息,使用python會很方便幫助獲得,這篇文章運(yùn)用實(shí)例告訴大家如何利用Python來獲取操作系統(tǒng)的信息,有需要的可以參考借鑒。
    2016-09-09
  • Python win32com 操作Exce的l簡單方法(必看)

    Python win32com 操作Exce的l簡單方法(必看)

    下面小編就為大家?guī)硪黄狿ython win32com 操作Exce的l簡單方法(必看)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05
  • 如何使用 Python 中的功能和庫創(chuàng)建 n-gram

    如何使用 Python 中的功能和庫創(chuàng)建 n-gram

    在計(jì)算語言學(xué)中,n-gram 對于語言處理、上下文和語義分析非常重要,它們是從令牌字符串中相鄰的連續(xù)單詞序列,本文將討論如何使用 Python 中的功能和庫創(chuàng)建 n-gram,感興趣的朋友一起看看吧
    2023-09-09
  • 詳解Python 關(guān)聯(lián)規(guī)則分析

    詳解Python 關(guān)聯(lián)規(guī)則分析

    這篇文章主要介紹了Python 關(guān)聯(lián)規(guī)則分析的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-03-03
  • 詳解Golang 與python中的字符串反轉(zhuǎn)

    詳解Golang 與python中的字符串反轉(zhuǎn)

    這篇文章主要介紹了詳解Golang 與python中的字符串反轉(zhuǎn)的相關(guān)資料,這里提供了實(shí)現(xiàn)的實(shí)例以便大家學(xué)習(xí)理解,需要的朋友可以參考下
    2017-07-07

最新評論

朔州市| 赤峰市| 迁西县| 同德县| 郸城县| 手游| 江都市| 富民县| 且末县| 仁怀市| 漳浦县| 勐海县| 明光市| 福贡县| 方正县| 青浦区| 富平县| 比如县| 进贤县| 黑龙江省| 罗田县| 连云港市| 大埔区| 福贡县| 扎兰屯市| 宜宾市| 九江县| 抚远县| 讷河市| 西林县| 邢台市| 阿荣旗| 元谋县| 南丹县| 蕉岭县| 香河县| 长治市| 清河县| 方城县| 卢湾区| 石门县|