溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python怎么實現(xiàn)人臉識別

發(fā)布時間:2022-08-24 10:03:18 來源:億速云 閱讀:120 作者:iii 欄目:開發(fā)技術(shù)

這篇“Python怎么實現(xiàn)人臉識別”文章的知識點大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Python怎么實現(xiàn)人臉識別”文章吧。

什么是百度Aip模塊?

百度AI平臺提供了很多的API接口供開發(fā)者快速的調(diào)用運用在項目中

本文寫的是使用百度AI的在線接口SDK模塊(baidu-aip)進(jìn)行實現(xiàn)人臉識別

除了人臉識別,其他api功能的調(diào)用也同理。

準(zhǔn)備工作

本機環(huán)境

  • 系統(tǒng):win11

  • Python版本:3.9.7

  • 編輯器:VS2022

安裝baidu-aip模塊

win + R 輸入cmd打開命令提示符

Python怎么實現(xiàn)人臉識別

執(zhí)行安裝百度AI模塊

pip install baidu-aip

Python怎么實現(xiàn)人臉識別

登錄百度AI平臺創(chuàng)建應(yīng)用

打開百度AI平臺 進(jìn)行登錄

在控制臺中找到人臉識別

Python怎么實現(xiàn)人臉識別

按自己要求創(chuàng)建應(yīng)用

Python怎么實現(xiàn)人臉識別

最后得到應(yīng)用的AppID API Key Secret Key

Python怎么實現(xiàn)人臉識別

記下值 等等會用到

AppID:10000000
API Key:xxxxxxxxxxxxxxxxxxxxxxxx
Secret Key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

代碼流程

導(dǎo)入baidu-aip模塊

打開VS2022(VSCode PyCharm Sypder等同理)創(chuàng)建一個py文件
輸入

from aip import AipFace

聲明上文獲取的AppID API Key Secret Key

APP_ID = '10000000'
API_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxx'
SECRET_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'

初始化百度AIP 人臉識別模塊

client = AipFace(APP_ID, API_KEY, SECRET_KEY)

創(chuàng)建人臉檢測函數(shù)

def face_detect(image):
    result = client.detect(image, image_type='BASE64')
    print(result)
    return result

輸入的圖片image必須是BASE64格式

將圖片轉(zhuǎn)為BASE64格式

導(dǎo)入base64包

import base64

將圖片打開為 BASE64格式

但是導(dǎo)入到百度AI中需要為字符串格式,所以返回為字符串

def imageToBase64(imagePath):
    with open(imagePath, 'rb') as f:
        image = base64.b64encode(f.read())
        return str(image, encoding='utf-8')

打開圖片進(jìn)行檢測

先準(zhǔn)備一張圖片pic1.jpg

調(diào)用函數(shù)

face_detect(imageToBase64("pic1.jpg"))

提示調(diào)用成功:

Python怎么實現(xiàn)人臉識別

遇到的問題

運行時候提示:

requests.exceptions.ProxyError: HTTPSConnectionPool(host='aip.baidubce.com', port=443)

Python怎么實現(xiàn)人臉識別

win + R 輸入 regedit打開注冊表,找到

\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings

Python怎么實現(xiàn)人臉識別

把ProxyEnable的值改為0

Python怎么實現(xiàn)人臉識別

再運行即可

延伸出使用其他功能

除了人臉檢測還可以使用人臉比、人臉?biāo)阉鲗Φ群瘮?shù),調(diào)用方法同理,比如人臉比對。

def face_match(image1, image2):
    result = client.match([
    {
        'image': image1,
        'image_type': 'BASE64',
    },
    {
        'image': image2,
        'image_type': 'BASE64',
    }
   ])
    print(result)
    return result

人臉?biāo)阉?/p>

def face_search(image,group_id_list):
    result = client.search(image, image_type='BASE64',group_id_list=group_id_list)
    print(result)
    return result

APP_ID API_KEY SECRET_KEY 需要修改為自己的

以上就是關(guān)于“Python怎么實現(xiàn)人臉識別”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關(guān)的知識內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI