環(huán)境搭建
需要安裝VideoCapture模塊田弥,參考這里:https://blog.csdn.net/zhangbinbinz/article/details/78658619
使用方法
Device()
調(diào)用一個(gè)設(shè)備
saveSnapshot()
拍下照片
舉例-拍一張照片
from VideoCapture import Device
cam = Device()
cam.saveSnapshot('image.jpg')
舉例-持續(xù)拍照并進(jìn)行人臉識(shí)別
(人臉識(shí)別參考百度AI接口調(diào)用)
from VideoCapture import Device
import time, os
import requests
import base64
def get_access_token():
api_key = '' #在這里填入自己的key
secret_key = ''
url = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + str(api_key) + '&client_secret=' + str(secret_key)
try:
res = eval(requests.get(url).text)
return res['access_token']
except:
print("access_token獲取失敗")
os.system("pause")
def capture_photo():
try:
cam = Device()
cam.saveSnapshot('image.jpg')
except:
print("拍照功能出錯(cuò)")
def search_face(access_token):
face_search = 'https://aip.baidubce.com/rest/2.0/face/v3/search' + '?access_token=' + str(access_token)
header = {
'Content-Type':'application/json'
}
data = {
"image_type":"BASE64",
"group_id_list":"group_1", #這個(gè)要在人臉識(shí)別的應(yīng)用里創(chuàng)建人臉庫矩肩,并添加相應(yīng)圖片
#這里弄了幾個(gè)明星的照片
}
with open('image.jpg', 'rb') as f:
image = base64.b64encode(f.read())
data["image"] = str(image, 'utf-8')
try:
res2 = eval(requests.post(url=face_search, data=data, headers=header).text)
#轉(zhuǎn)成dict
print(res2)
if res2['error_code'] == 110:
access_token_new = get_access_token()
return access_token_new
print("識(shí)別結(jié)果:", res2["result"]["user_list"][0]["user_id"])
print("準(zhǔn)確率:", res2["result"]["user_list"][0]["score"])
except:
pass
if __name__ == '__main__':
access_token = get_access_token()
access_token_new = ''
while True:
capture_photo()
if access_token_new: #access_token過期
access_token = access_token_new
access_token_new = search_face(access_token)