前几个小应用似乎不给力,反应不冷不热,似乎大家不感兴趣,今天给大家推出一个亮眼一点的:微信公众平台上的人脸识别。
前段时间看到网上有个报道 四川大学计算机科学系主任、副教授 魏骁勇 开发了 基于图像的课堂考勤系统, 上课点名用人脸识别来‘刷脸’,看下图
1357543196 5830603629728080261
ToUserName 消息接收方微信号,一般为公众平台账号微信号
FromUserName 消息发送方微信号
CreateTime 消息创建时间
MsgType 消息类型;图片消息为image
PicUrl 图片链接地址
MsgId 消息ID号
Face++提供人脸识别接口,
检测给定图片(Image)中的所有人脸(Face)的位置和相应的面部属性接口地址如下:
### ###################################################### var $server = 'http://apicn.faceplusplus.com/v2'; #var $server = 'https://apicn.faceplusplus.com/v2'; #var $server = 'http://apius.faceplusplus.com/v2'; #var $server = 'https://apius.faceplusplus.com/v2'; ############################################# ### set your api key and api secret here. ### ############################################# var $api_key = '{your API KEY}'; var $api_secret = '{your API SECRET}'; public function __construct($api_key=NULL, $api_secret=NULL, $server=NULL){ if($api_key){ $this->api_key = $api_key; } if($api_secret){ $this->api_secret = $api_secret; } if($server){ $this->server = $server; } } /** * @param $method : The Face++ API * @param $params : Request Parameters * @return : Array {'http_code':'Http Status Code', 'request_url':'Http Request URL','body':' JSON Response'} **/ public function execute($method,$params){ if(empty($params)){ $params=array(); } $params['api_key'] = $this->api_key; $params['api_secret'] = $this->api_secret; return $this->request("{$this->server}{$method}",$params); } private function request($request_url , $request_body){ $useragent = 'Faceplusplus PHP SDK/1.0'; $curl_handle = curl_init(); curl_setopt($curl_handle, CURLOPT_URL, $request_url); curl_setopt($curl_handle, CURLOPT_FILETIME, TRUE); curl_setopt($curl_handle, CURLOPT_FRESH_CONNECT, FALSE); curl_setopt($curl_handle, CURLOPT_CLOSEPOLICY, CURLCLOSEPOLICY_LEAST_RECENTLY_USED); curl_setopt($curl_handle, CURLOPT_MAXREDIRS, 5); curl_setopt($curl_handle, CURLOPT_HEADER, FALSE); curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($curl_handle, CURLOPT_TIMEOUT, 5184000); curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 120); curl_setopt($curl_handle, CURLOPT_NOSIGNAL, TRUE); curl_setopt($curl_handle, CURLOPT_REFERER, $request_url); curl_setopt($curl_handle, CURLOPT_USERAGENT, $useragent); if (extension_loaded('zlib')){ curl_setopt($curl_handle, CURLOPT_ENCODING, ''); } curl_setopt($curl_handle, CURLOPT_POST, TRUE); if(array_key_exists('img',$request_body)){ $request_body['img'] = '@'.$request_body['img']; }else{ $request_body=http_build_query($request_body); } curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $request_body); $response_text = curl_exec($curl_handle); $reponse_header = curl_getinfo($curl_handle); curl_close($curl_handle); return array('http_code'=>$reponse_header['http_code'],'request_url'=>$request_url,'body'=>$response_text); }}
在微信中再将结果整理成文本消息就可以了。
下面是实际使用结果:
漂亮/帅气指数鉴定技术
更多微信公众平台消息接口开发图片识别之人脸识别相关文章请关注PHP中文网!