手机版

PHP实现百度人脸识别

时间:2021-08-24 来源:互联网 编辑:宝哥软件园 浏览:

PHP连接百度人脸识别,供大家参考。具体内容如下

1.注册百度开发者账号。

https://login.bce.baidu.com/?Account=注册登录成功后,进入控制台,在左侧导航栏中找到产品->人工智能->人脸识别:

创建应用程序。成功创建应用程序后,获取应用程序的应用程序接口密钥和密钥

2.接口调用-获取访问令牌

调用人脸识别界面前需要获取访问令牌。示例代码:

函数execCurl($url,$ param){ if(empty($ URL)| | empty($ param)){返回数组(' result'=false,' err_msg'='url或param为null ');} $ curl=curl _ init();//初始化curl curl _ setopt ($ curl,curl opt _ URL,$ URL);//抓取指定的网页curl _ setopt ($ curl,curl opt _ header,0);//set header curl _ setopt ($ curl,curl opt _ returntransfer,1);//要求结果为字符串并输出到屏幕curl _ setopt ($ curl,curl opt _ post,1);//后期提交方法curl _ setopt ($ curl,curl opt _ postfields,$ param);curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,0);curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,0);$ data=curl _ exec($ curl);//运行curl $ curl _ err _ msg=curl _ error($ curl);curl _ close($ curl);if($ data===false){ return array(' result '=false,' err _ msg '=$ curl _ err _ msg);} else { return array(' result '=true,' data '=$ data);} } $ URL=' https://AIP . baidubce.com/oauth/2.0/token ';$ param=数组(' grant _ type '=' client _ credentials ',' client _ id'='您的API Key ',' client_secret'='您的Secret Key ');$ result=ExecCull($ URL,$ param);3.调用人脸检查界面

如果需要判断图片中的人脸是否满足后续识别或比对的条件,在请求时在face_field参数中请求质量。

下面的例子是请求图片和文本为base64转码字符串(转码不能包含表头信息),或者发送图片网络地址和官方文档。

示例代码:

函数checkpictureoccheckface($ image _ path,$ access _ token){ $ URL='https://aip.baidubce.com/rest/2.0/face/v3/detect?access_token=' .$ access _ token $ param=array(' image '=BASE64 encodeimage($ image _ path),' image_type'='BASE64 ',' face _ field '=' quality ');$ param=JSON _ encode($ param);$ result=ExecCull($ URL,$ param);if($result['result']==false)返回$ result$ data=JSON _ decode($ result[' data '],true);if($data['error_code']!=0)返回数组(“result ”=false,“err _ msg ”=)上传的人脸不符合要求,请重新上传五官清晰的真实头像');$ err _ result=array(' result '=false,' err_msg'='上传的人脸不符合要求,请重新上传五官清晰的真实头像!');$ quality=$ data[' result '][' face _ list '][0][' quality '];if($ quality['遮挡'][' left _ eye ']0.6)返回$ err _ result//左眼被遮挡的阈值if($ quality['遮挡']['右眼']0.6)返回$ err _ result//右眼被遮挡的阈值if($ quality【‘遮挡’】【‘鼻子‘】) 0.7)返回$ err _ result//鼻子被遮挡的阈值if($ quality['闭塞']['口']0.7)返回$ err _ result//嘴巴被遮挡的阈值if($ quality[' occlusion '][' left _ check ']0.8)返回$ err _ result//左脸颊被遮挡的阈值if($ quality[' occlusion '][' right _ check ']0.8)返回$ err _ result//右脸颊被遮挡的阈值if($ quality【‘遮挡’】【‘chin _ contour’】0.6)返回$ err _ result//下巴被遮挡阈值if($quality['blur']!=0美元质量['模糊'] 0.7)返回$ err _ result//模糊度范围0是最清晰,1是最模糊if(质量[‘照明’] 40美元)返回$ err _ result//光照范围if($ quality[' completion ']==0)返回$ err _ result//人脸完整度0为人脸溢出图像边界,1为人脸都在图像边界内返回数组(“result”=true);}函数execCurl($url,$ param){ if(empty($ URL)| | empty($ param)){返回数组(' result '=false,' err_msg'='url或参数为null’);} $ curl=curl _ init();//初始化curl curl_setopt($curl,CURLOPT_URL,$ URL);//抓取指定网页curl_setopt($curl,CURLOPT_HEADER,0);//设置header curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);//要求结果为字符串且输出到屏幕上curl_setopt($curl,CURLOPT_POST,1);//帖子提交方式curl_setopt($curl,CURLOPT _ POSTFIELDS,$ param);curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,0);curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,0);$ data=curl _ exec($ curl);//运行curl $ curl _ err _ msg=curl _ error($ curl);curl _ close($ curl);if($ data===false){ return array(' result '=false,' err _ msg '=$ curl _ err _ msg);} else { return array(' result '=true,' data '=$ data);}}函数base64 encode image($ image _ path){ $ base64 _ image=' ';$ image _ info=getimagesize($ image _ path);$ image _ data=fread(fopen($ image _ path,' r '),文件大小($ image _ path));$ base64 _ image=chunk _ split(base64 _ encode($ image _ data));返回$ base64 _ image } $ image _ path=' image/1。jpg ';$access_token='上一步的获取访问令牌;$ result=CheckPictureTocheckFace($ image _ path,$ access _ token);判断是否符合人脸识别检查的字段说明:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

版权声明:PHP实现百度人脸识别是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。

相关文章推荐