人脸注册入库和人脸检测

以下是用到的关于人脸识别的两个接口,还有用thinkphp如何人脸注册入库的代码,代码如下:

人脸检测接口

     
      @param string $image - 图片信息(**总数据大小应小于10M**),图片上传方式根据image_type来判断
      @param string $imageType - 图片类型 **BASE64**:图片的base64值,base64编码后的图片数据,需urlencode,编码后的图片大小不超过2M;**URL**:图片的 URL地址( 可能由于网络等原因导致下载图片时间过长)**;FACE_TOKEN**: 人脸图片的唯一标识,调用人脸检测接口时,会为每个人脸图片赋予一个唯一的FACE_TOKEN,同一张图片多次检测得到的FACE_TOKEN是同一个
      @param array $options - 可选参数对象,key: value都为string类型
     @description options列表:
        face_field 包括**age,beauty,expression,faceshape,gender,glasses,landmark,race,quality,facetype,parsing信息**  <br> 逗号分隔. 默认只返回face_token、人脸框、概率和旋转角度
        max_face_num 最多处理人脸的数目,默认值为1,仅检测图片中面积最大的那个人脸;**最大值10**,检测图片中面积最大的几张人脸。
        face_type 人脸的类型 **LIVE**表示生活照:通常为手机、相机拍摄的人像图片、或从网络获取的人像图片等**IDCARD**表示身份证芯片照:二代身份证内置芯片中的人像照片 **WATERMARK**表示带水印证件照:一般为带水印的小图,如公安网小图 **CERT**表示证件照片:如拍摄的身份证、工卡、护照、学生证等证件图片 默认**LIVE**
     @return array
     /
   
 public function detect($image, $imageType, $options=array()){


        $data = array();
        
        $data['image'] = $image;
        $data['image_type'] = $imageType;


        $data = array_merge($data, $options);
        return $this->request($this->detectUrl, json_encode($data),  array(
            'Content-Type' => 'application/json',
        ));
    }

人脸注册接口
     
      @param string $image - 图片信息(**总数据大小应小于10M**),图片上传方式根据image_type来判断
      @param string $imageType - 图片类型 **BASE64**:图片的base64值,base64编码后的图片数据,需urlencode,编码后的图片大小不超过2M;**URL**:图片的 URL地址( 可能由于网络等原因导致下载图片时间过长)**;FACE_TOKEN**: 人脸图片的唯一标识,调用人脸检测接口时,会为每个人脸图片赋予一个唯一的FACE_TOKEN,同一张图片多次检测得到的FACE_TOKEN是同一个
     @param string $groupId - 用户组id(由数字、字母、下划线组成),长度限制128B
      @param string $userId - 用户id(由数字、字母、下划线组成),长度限制128B
      @param array $options - 可选参数对象,key: value都为string类型
      @description options列表:
        user_info 用户资料,长度限制256B
        quality_control 图片质量控制  **NONE**: 不进行控制 **LOW**:较低的质量要求 **NORMAL**: 一般的质量要求 **HIGH**: 较高的质量要求 **默认 NONE**
       liveness_control 活体检测控制  **NONE**: 不进行控制 **LOW**:较低的活体要求(高通过率 低攻击拒绝率) NORMAL**: 一般的活体要求(平衡的攻击拒绝率, 通过率) **HIGH**: 较高的活体要求(高攻击拒绝率 低通过率) **默认NONE**
      @return array
     /
  

  public function addUser($image, $imageType, $groupId, $userId, $options=array()){


        $data = array();
        
        $data['image'] = $image;
        $data['image_type'] = $imageType;
        $data['group_id'] = $groupId;
        $data['user_id'] = $userId;


        $data = array_merge($data, $options);
        return $this->request($this->userAddUrl, json_encode($data),  array(
            'Content-Type' => 'application/json',
        ));
    }

人脸注册入库

public function upload($id=''){
      if(empty($id)){
        return false;
      }
      $no = M('student')->where("id={$id}")->getField('no');

      $dir = "./Uploads/studentface/";
      if(!file_exists($dir)){
        mkdir($dir,0700,true);
      }
    	$upload = new \Think\Upload();// 实例化上传类
			$upload->maxSize = 2048000 ;// 设置附件上传大小
			$upload->exts = array('jpg', 'gif', 'png', 'jpeg');
			// 设置附件上传类型
			$upload->rootPath = $dir; // 设置附件上传根目录
			$upload->savePath = ''; // 设置附件上传(子)目录
      $upload->saveName=$no;
      $upload->replace = true;
      $upload->autoSub = false;
			$info = $upload->uploadOne($_FILES['file']);
			if(!$info){
        echo json_encode(array('error'=>true,'msg'=>$upload->getError()),JSON_UNESCAPED_UNICODE);
			
			}else{
			   $file = $dir . $info['savePath'].$info['saveName'];
         $image = base64_encode(file_put_contents($file));
         // $this->facevalid($no,$image);

         $m=M('head');
         $data = $m->where("no='{$no}'")->find();
         if($data){
          $m->where("n0='{$no}'")->save(array('base64'=>$image));
         }else{
          $m->add(array('no'=>$no,'base64'=>$image,'path'=>$file));
         }
			}

    }

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值