python人脸检测与微信小程序_微信小程序实现人脸检测功能
本文为大家分享了微信小程序实现人脸检测的具体代码,供大家参考,具体内容如下
因为本文章的人脸检测技术运用的是百度云人工智能,首先要有百度云的账号。
近期,人脸识别已经升级到了V3,开启了测试,所以也依照v3文档进行了更新;
1、人脸识别的每个接口,都需要用到百度云的access_token,首先获取 access-token ,一个月之后access_token过期;可以将获取的存入文件,再次引用时可以判断其是否过期,然后引用或者重新获取:
//获取access_token
function request_post($url = '', $param = '') {
if (empty($url) || empty($param)) {
return false;
}
$postUrl = $url;
$curlPost = $param;
$curl = curl_init();//初始化curl
curl_setopt($curl, CURLOPT_URL,$postUrl);//抓取指定网页
curl_setopt($curl, CURLOPT_HEADER, 0);//设置header
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上
curl_setopt($curl, CURLOPT_POST, 1);//post提交方式
curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($curl, CURLOPT_SSLVERSION, 1);
$data = curl_exec($curl);//运行curl
curl_close($curl);
return $data;
}
function access_token(){
$file= __DIR__ .'\access_token';
if(file_exists($file)){
$str=file_get_contents($file);
try{
$arr=json_decode($str,true);
if(is_array($arr)){
$totime=$arr['totime'];
if($totime>time()){
return $arr['access_token'];
exit;
}
}
}catch(Exception $e){
}
}
$url = 'https://aip.baidubce.com/oauth/2.0/token';
$post_data['grant_type'] = 'client_credentials';
$post_data['client_id'] = 'fRuY7eOPxBzIHf4qxiYeQOHT';
$post_data['client_secret'] = 'oe7L7aPc5rcKfSewvb5h6xFX2a8dEQN1';
$o = "";
foreach ( $post_data as $k => $v )
{
$o.= "$k=" . urlencode( $v ). "&" ;
}
$post_data = substr($o,0,-1);
$res = request_post($url, $post_data);
$arr=json_decode($res,true);
if(isset($arr['access_token']) && isset($arr['expires_in'])){
$data['access_token'] = $arr['access_token'];
$data['totime']= time() + $arr['expires_in'] - 86400;
file_put_contents($file, json_encode($data));
return $arr['access_token'];
}else{
return false;
}
}
2、创建初始化方法,需要用到 Secret_Key、API_Key、App_ID,为用户基本资料;
private function init_face(){
$App_ID = '用户appid';
$API_Key = '用户api_key';
$Secret_Key = '用户secret_key';
$dir = APP_PATH.'/face-sdk/';
require_once $dir."AipFace.php";
return new \AipFace($App_ID, $API_Key, $Secret_Key);
}
(thinkPHP框架)
将所需检测图片放入文件;具体参数可依照百度云人脸识别v3文档查看。
// 人脸检测
public function facevalid(){
$file = './Upload/2018-05-17/1.png';
if (!file_exists($file)) {
die('文件不存在!');
}
$image = base64_encode(file_get_contents($file));
$imageType = 'BASE64';
//如果有可选参数
$options = array();
$options['max_face_num'] = 2;
$client = $this->init_face();
$ret = $client->detect($image,$imageType,$options);
// print_r($ret);
if ($ret['error_code'] == 0) {//有人脸
$result = $ret['result'];
$face_num = $result['face_num'];
if ($face_num==1) { //人脸数量为1
$face_probability = $result['face_list'][0]['face_probability'];
if ($face_probability==1) { //可靠性为1
$user_id = myguid();
$group_id = $this->face_group();
$res = $client->addUser($image,'BASE64',$group_id,$user_id);
// print_r($res);
if ($res['error_code']==0) {
echo "人脸检测完成,并入库";
}
}else{
die('可靠性为:'.$face_probability);
}
}else{
die('人脸数大于1');
}
}else{
die('没有人脸');
}
}
// 获取组
private function face_group(){
$groupname = '10001';
$client = $this->init_face();
$ret = $client->getGroupList();
if ($ret['error_code'] == 0) {
$grouplist = $ret['result']['group_id_list'];
if (in_array($groupname, $grouplist)) {
return $groupname;
}else{
$ret = $client->groupAdd($groupname);
if ($ret['error_code'] == 0) {
return $groupname;
}else{
return false;
}
}
}else{
return false;
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
python人脸检测与微信小程序_微信小程序实现人脸检测功能相关推荐
- 如何微信链接自定义_微信链接自定义
微信在分享第三方网站是不显示缩略图和描述的,如下图所示 微信链接自定义_微信链接自定义 要解决这个问题必须调用微信JS-SDK接口,下面讲一下如何调用接口. 第一部分 准备步骤 注册微信公众号. 通过 ...
- 用python写一个抽奖小程序_微信小程序抽奖助手一键参与抽奖
写在前头的话 最近"沉迷"于微信一款小程序,就是抽奖助手.反正这个抽奖几乎不用什么成本, 就是一个个抽奖活动点进去点击参与抽奖比较麻烦.要是如果有个程序一键解决这些步骤,那就是零成 ...
- python登录微信pc版_微信PC版2.9.0测试版更新:新增小程序面板
3月26日讯,近日,腾讯微信团队推送了微信PC版2.9.0的公共测试更新,此次更新增加了不少实用功能,对过往的许多痛点也有所改进,个人非常期待微信2.9.0版本的正式更新. 作为国民级的通讯产品,腾讯 ...
- mysql传数据到微信小程序_微信小程序直播 数据同步与转存
本文已同步到专业技术网站 www.sufaith.com, 该网站专注于前后端开发技术与经验分享, 包含Web开发.Nodejs.Python.Linux.IT资讯等板块. 本教程所用项目框架为egg ...
- 智慧物业小程序_物业小程序物业微信小程序目前功能最全的物业小程序
原标题:物业小程序物业微信小程序目前功能最全的物业小程序 以物业管理为核心,打造智慧社区云微信小程序管理平台,已入驻腾讯海纳社区,物业微信小程序,解决传统物业管理难,乱差的问题,利用微信小程序提供一整 ...
- 小程序 微信统计表格_微信小程序简单的数据表格及查询功能
简介: 此项目是一个前后端分离的小demo, 开发工具:idea+微信小程序开发工具 前端:界面布局样式和js的跳转 后端:依靠SpringBoot的业务逻辑层 项目的码云地址: 微信开发工具的使用和 ...
- webview 个人小程序_微信小程序新增Webview它是什么东西?
原标题:微信小程序新增Webview,它是什么东西? 今天刚刚给客户做完案子,正准备去睡觉.2017 今天刚刚给客户做完案子,正准备去睡觉.2017年11月3日 11:29看到了微信公众平台推送的小程 ...
- core和node开发小程序_成都小程序开发:微信小程序开发要多少钱?
定制开发一个微信小程序要多少钱呢? 成都小程序开发需要多少钱,成都小程序定制多少钱,成都小程序开发获得报价 微信小程序背靠腾讯的亿级流量,有着非常强大的线上引流功能,目前微信小程序的开发越来越火爆,选 ...
- input ios问题 小程序_微信小程序开发常见问题汇总
原标题:微信小程序开发常见问题汇总 1.域名必须是https 非https的域名不被微信小程序允许. 2.input组件placeholder字体颜色 卸载placeholder-class里面的co ...
- qml如何发布程序_微信小程序如何发布?公司和个人注册流程科普
如今制作微信小程序已经是非常简单的事了,即使是完全不懂技术的小白,也能利用小程序制作工具快速生成小程序,基本上选一个模板就能快速把页面搭建好. 不过,虽然小程序页面搭建很简单,但还有不少人不知道页面搭 ...
最新文章
- umi搭建react+antd项目(三)Mock 数据--模拟数据
- 使用ulimit设置文件最大打开数
- 2013-9 OWASP论坛
- 使用HTML5+CSS3制作圆角内发光按钮----示例
- android代码混淆作用,Android分享:代码混淆那些事
- 创新品牌体验团队_如何推动软件团队创新
- 将中国标准时间转换成标准格式的代码
- mac系统升级 brew 是用不了_PostgreSQL数据库默默升级,导致数据库服务不可用
- oracle中imp命令具体解释
- LeetCode 718最长重复子数组
- 新编16 32位微型计算机原理及应用,新编16/32位微型计算机原理及应用(第5版)...
- C++控制台游戏-小镇物语正式版 V1.7.21BUG修复版【可存档!!!】
- 词频统计 matlab,5年cvpr论文词频分析,今年最火词——深度学习
- 你知道如何从零开始学c++游戏编程吗
- 计算机中 空间局限性(Spatial Locality)与时间局限性(Temporal Locality)
- 大脑--物质与意识之综合体,是物质有双重现象(物性与灵性)的实证
- 深度学习——图像分类相关模型一览
- 地震偏移成像matlab,地震偏移成像基本原理概述.ppt
- 动态规划之硬币面值组合问题
- 全网页都变灰了,这是怎么实现的?