检测人脸,存入人脸库

小程序的前端页面中存入一张图片,将图片存入到人脸库中,并且检测是否有人脸,有几张人脸

前端页面如下:


前端的代码可以参考小程序示例

人脸检测的php代码如下:

public function facevalid(){
        $file = './Upload/2.jpg';
        // echo $file;
        // exit;
        if (!file_exists($file)) {
            die('文件不存在!');
        }

        $image = base64_encode(file_get_contents($file));
        //如果有可选参数
        $options = array();
        // $options['face_field'] = "age";
        $options['max_face_num'] = 2;
        // $options['face_type'] = "LIVE";

        $client = $this->init_face();
        $ret = $client->detect($image,'BASE64',$options);
        // print_r($ret);
        if ($ret['error_code'] == 0) {//有人脸
            $result = $ret['result'];
            $face_num = $result['face_num'];

            if (1 == $face_num) { //人脸数量为1
                $face_probability = $result['face_list'][0]['face_probability'];
                if (1 == $face_probability) { //可靠性为1
                    $user_id = myguid();
                    $group_id = $this->face_group();
                    // print_r($group);
                    $res = $client->addUser($image,'BASE64',$group_id,$user_id);
                    // print_r($res);
                    // exit;
                    echo "人脸检测完成,并入库";
                }else{
                    die('可靠性为:'.$face_probability);
                }
            }else{
                die('人脸数大于1');
            }
        }else{
            die('没有人脸');
        }

    }
face_probability

为可靠性,可靠性越接近1,说明是人脸的可能越大

上面为检测图片中是否存在人脸

如果存在就要将图片存放到人脸库中

上传图片的后台代码如下:

//上传照片
    public function upload($id=''){
    	$upload = new \Think\Upload();//实例化上传类
    	$upload->maxSize = 3145728;//设置附件上传大小
    	$upload->exts = array('jpg','gif','png','jpeg');//设置附件上传类型
    	$upload->rootPath = './Upload/';//设置附件上传根目录
    	$upload->savePath = '';//设置附件上传(子)目录
      $upload->saveName = true;
      $upload->autoSub = false;
    	//上传文件
    	$info = $upload->uploadOne($_FILES['file']);
    	if (!$info) {//上传错误,提示错误信息
    		echo json_encode(array('error'=>true,'msg'=>$upload->getError()),JSON_UNESCAPED_UNICODE);  		
    	}else{//上传成功
    		// return $this->ajaxReturn(array('error'=>false,'msg'=>$info['savePath'].$info['savename'],'id'=>$id));
        $file = $dir . $info['savepath'] . $info['savename'];
    	}
    }
如此便存放成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值