python人脸检测代码百度ai_百度AI结合笔记本人脸识别(PYTHON)

本文介绍如何通过Python调用百度AI的API进行人脸识别。首先感谢某位博主的指导,然后在原有代码基础上修改,实现了笔记本摄像头与百度AI的结合,进行人脸识别。代码中涉及OpenCV捕获图像,然后转换并上传至百度AI进行人脸检测,当识别得分超过80分时,会打印欢迎信息。未来计划朝实时识别方向发展。
摘要由CSDN通过智能技术生成

之前用Tensorflow做30个人的人脸识别,训练时间贼长就算了,那个准确度还不堪入目。于是我想到了调用API来做人脸识别。找到了这位大佬的博客

https://blog.csdn.net/weixin_38241876/article/details/84842017

先谢谢这位大佬,百度AI注册和创建用户他都写得很详细大家可以参考一下

他是树莓派结合百度AI做的人脸识别,然后我在他的代码上做了修改,实现了笔记本摄像头结合百度AI人脸识别。代码如下:

# coding=UTF-8

from aip import AipFace

import urllib.request

import base64

import time

import cv2

APP_ID = '你的人脸识别的ID'

API_KEY='你的人脸识别的API_KEY'

SECRET_KEY=‘你的人脸识别的SK’

client = AipFace(APP_ID, API_KEY, SECRET_KEY)

IMAGE_TYPE='BASE64'

cap = cv2.videoCapture(0)

i=0

GROUP = '你的用户组'

#对图片的格式进行转换

def transimage():

f = open('C:/Users/Idiom/Desktop/'+str(i)+'.jpg','rb')#路径可以自己改

img = base64.b64encode(f.read())

return img

#上传到百度API进行人脸检测

def go_api(image):

result = client.search(str(image, 'utf-8'), IMAGE_TYPE, GROUP);

if result['error_msg'] == 'SUCCESS':

name = result['result']['user_list'][0]['user_id']

score = result['result']['user_list'][0]['score']

if score > 80:

if name == '01_ChengYu':

print("欢迎%s !" % name)

time.sleep(3)

else:

print("对不起,我不认识你!")

name = 'Unknow'

return 0

curren_time = time.asctime(time.localtime(time.time()))

f = open('Log.txt','w')

f.write("Person:" + name + " "+ "Time:" + str(curren_time)+'\n')

f.close()

return 1

if result['error_msg'] == 'pic not has face':

print("检测不到人脸")

time.sleep(2)

return 0

else:

print(result['error_code']+'' + result['error_code'])

return 0

if __name__ == '__main__':

while True:

ret ,frame = cap.read()

cv2.imshow("frame",frame)

k = cv2.waitKey(1)

if k == ord('s'):

cv2.imwrite('C:/Users/Idiom/Desktop/'+str(i)+'.jpg',frame) #路径可以自己改

img = transimage()

res = go_api(img)

if (res == 1):

print("开门")

else:

print("关门")

print("稍等三秒进入下一个")

i+=1

time.sleep(3)

主要就是使用OPENCV进行拍照,然后将图片上传到百度AI进行识别,后续发展将会向实时识别方向进发,如果有大佬已经做到实时识别可以评论教教我,我也是初学者。

然后博客的代码是手打的(有人知道怎么复制吗),如果有一些错误可以在下方评论,我可以发py文件给你。谢谢大家!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值