西西软件园多重安全检测下载网站、值得信赖的软件下载站!
西西首页 常用软件 软件下载 安卓软件 游戏下载 安卓游戏 MAC应用 驱动下载 安卓电视
系统工具网络工具媒体工具图形图像聊天工具应用软件编程开发手机软件安卓应用电脑安全字体素材

人脸识别软件

最新版
  • 人脸识别软件最新版
  • 软件大小:52.6M
  • 更新时间:2019-10-08 12:05
  • 软件语言:中文
  • 软件厂商:
  • 软件类别:国产软件 / 免费软件 / 浏览辅助
  • 软件等级:3级
  • 应用平台:WinAll
  • 官方网站:暂无
好评:50%
坏评:50%

软件介绍

人脸识别软件是一款使用百度人脸识别接口做的有个简单的人脸识别工具(接口识别不准,仅限于娱乐),学习PyQt5做的一个人脸识别的小工具,使用百度的免费人脸识别接口,识别不是很准确,仅限学习娱乐。

调用说明

在百度AI开放平台使用百度的人脸识别能力,只需要三个核心步骤即可操作完成:

获取接口权限

准备接口调用工具

进行接口调用,全部流程走通只需要十分钟时间。

人脸识别接口

百度在线人脸识别API简单实现教程

1.申请百度人脸识别应用

首先需要在百度智能云平台登录

https://console.bce.baidu.com/ai/?_=1558444274128&fromai=1#/ai/face/overview/index

登陆后创建应用,创建的应用是人脸识别的,默认已帮你勾选上了相关功能。

创建应用后,点击管理应用,你就可以获取API Key和Secret Key

2.获取token

现在就可以编写代码调用在线的人脸检测API了

首先是获取token,用于校验,代码如下,注意换成自己申请的API Key和Secret Key

def getToken():

global token

# client_id 为官网获取的AK, client_secret 为官网获取的SK

host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=你的API Key&client_secret=你的Secret Key'

request = urllib2.Request(host)

request.add_header('Content-Type', 'application/json; charset=UTF-8')

response = urllib2.urlopen(request)

content = response.read()

if (content):

token=json.loads(content)['access_token']

3.图片的base64编码

上传的用于检测的图片需经过Base64编码。需要注意的是,图片的base64编码是不包含图片头的,代码如下:

def imgToBase64(imgPath):

with open(imgPath, "rb") as f:  # 转为二进制格式

base64_data = base64.b64encode(f.read())  # 使用base64进行加密

return base64_data

4.人脸识别

最后就是调用接口进行人脸识别了

def faceDetect(imgBase64):

'''

人脸检测与属性分析

'''

request_url = "https://aip.baidubce.com/rest/2.0/face/v3/detect"

request_url = request_url + "?access_token=" + token

request = urllib2.Request(request_url)

request.add_header('Content-Type', 'application/json')

data = {"image": imgBase64, "image_type": "BASE64","face_field":"age,beauty,expression,face_shape,gender"}

response = urllib2.urlopen(request, urllib.urlencode(data))

content = response.read()

if content:

return content

这个函数中输入的是图片的base64编码,请求的参数中比较重要的是那个face_field,默认只返回人脸框的位置、概率和旋转角度,age(年龄预测),beauty(颜值打分),expression(表情)等更多属性,需要在这个参数中添加,具体的请参考官方说明文档:http://ai.baidu.com/docs#/Face-Detect-V3/top

5.结果绘制与可视化

人脸识别最后返回的是json数据,但我们往往需要画个框框,把人脸框出来,同时把一些预测的属性也标注上,这个代码我已经附在最后面了。

最终实现的效果如下:


6.实现的完整源代码

下面我附上实现这些功能的完整代码:

#coding:utf-8

import urllib,urllib2, sys

import ssl

import json

import base64

import cv2

global token

def getToken():

global token

# client_id 为官网获取的AK, client_secret 为官网获取的SK

host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=你的API Key&client_secret=你的Secret Key'

request = urllib2.Request(host)

request.add_header('Content-Type', 'application/json; charset=UTF-8')

response = urllib2.urlopen(request)

content = response.read()

if (content):

token=json.loads(content)['access_token']

def faceDetect(imgBase64):

'''

人脸检测与属性分析

'''

request_url = "https://aip.baidubce.com/rest/2.0/face/v3/detect"

request_url = request_url + "?access_token=" + token

request = urllib2.Request(request_url)

request.add_header('Content-Type', 'application/json')

data = {"image": imgBase64, "image_type": "BASE64","face_field":"age,beauty,expression,face_shape,gender"}

response = urllib2.urlopen(request, urllib.urlencode(data))

content = response.read()

if content:

return content

def imgToBase64(imgPath):

with open(imgPath, "rb") as f:  # 转为二进制格式

base64_data = base64.b64encode(f.read())  # 使用base64进行加密

return base64_data

if __name__=="__main__":

getToken()

imgPath=r"C:\Users\lee\Pictures\lena.jpg"

result=json.loads(faceDetect(imgToBase64(imgPath)))['result']

face_list=result['face_list'][0]

location=face_list['location']

age=face_list['age']

beauty=face_list['beauty']

expression=face_list['expression']['type']

gender=face_list['gender']['type']

img = cv2.imread(imgPath, cv2.IMREAD_COLOR)

leftTopX=int(location['left'])

leftTopY=int(location['top'])

rightBottomX=int(leftTopX+int(location['width']))

rightBottomY = int(leftTopY + int(location['height']))

cv2.rectangle(img, (leftTopX, leftTopY), (rightBottomX, rightBottomY), (0, 255, 0), 2)

font = cv2.FONT_HERSHEY_SIMPLEX

# 第一个坐标表示起始位置

cv2.putText(img,"age:"+str(age),(0, 20),font, 0.5, (200, 255, 255), 1)

cv2.putText(img, "gender:" + gender.encode("utf-8"), (0, 40), font, 0.5, (200, 255, 255), 1)

cv2.putText(img, "beauty:" + str(beauty), (0, 60), font, 0.5, (200, 255, 255), 1)

cv2.putText(img, "expression:" + str(expression), (0, 80), font, 0.5, (200, 255, 255), 1)

cv2.imshow('image', img)

cv2.waitKey(0)

print("end")

软件截图

人脸识别软件 最新版
    人脸识别软件
    (38)人脸识别软件关键词
    人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。由于这种技术的独特性,先进性以及安全性,这项技术现在已被用于安全以及公司考勤等方面,以替代传统的密码输入或者考勤打卡。小编在这里就汇总了几款安全以及考勤方面的人脸识别软件,有需要的朋友可以过来看看哦。更多>>

    发表评论

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲

    下载帮助下载帮助西西破解版软件均来自互联网, 如有侵犯您的版权, 请与我们联系。

    TOP
    软件下载