人工智能—人脸识别,OCR识别(精)

人脸识别(身份验证接口),

public function face_check($image, $name, $idCardNumber)
    {
        $client = new AipFace($this->appid, $this->appkey, $this->secretkey);
        $image = base64_encode(file_get_contents($image));
        $imageType = "BASE64";
        // 如果有可选参数
        $options = array();
        $options["quality_control"] = "NORMAL";
        $options["liveness_control"] = "LOW";
        // 调用身份验证
        $result = $client->personVerify($image, $imageType, $idCardNumber, $name, $options);
        if (($result['error_code'] == 0) && ($result['result']['score'] > 80)) {
            return true;
        }
         return false;
    }
     //根据错误代码和score相似度来看的,如果你要求高的话,设置成>=90也行,不过这里他传的是图片url地址,不是base64.如果他传的是base64的话,你还要先转一下

/**
     * [将Base64图片转换为本地图片并保存]
     * @param $image [要保存的Base64]
     * @param $path [要保存的路径]
     * @return bool|string
     */
    public function base64_image_content($image)
    {
        $imageName = date("His", time()) . "_" . rand(1111, 9999) . '.png';
        if (strstr($image, ",")) {
            $image = explode(',', $image);
            $image = $image[1];
        }
        $path = "/uploads/" . date("Ymd", time());
        if (!is_dir('.' . $path)) {
            //判断目录是否存在 不存在就创建
            mkdir('.' . $path, 0777, true);
        }
        $imagePath = $path . "/" . $imageName;
        $imageSrc = '.' . $imagePath;
        $res = file_put_contents($imageSrc, base64_decode($image)); //返回的是字节数
        if (!$res) {
            return false;
        } else {
            $data = [
                'type_id' => 1,
//                'type' => 'image/png',
                'title' => $imageName,
                'md5' => md5_file($imageSrc),
                'path' => $imagePath,
                'extension' => 'png',
                'size' => filesize($imageSrc),
                'create_time' => time(),
                'is_cloud' => 0,
            ];
//            $info['id'] = db('file')->insertGetId($data);
//            $info['path'] = $imagePath;
            $ppath = $imagePath;
            return $ppath;
        }
    }
参数名 必选类型说明
score float 人脸相似度得分,推荐阈值80分
face_list array 人脸信息列表
+face_token string 人脸的唯一标志
//返回值
{
    "score": 90,
    "face_list": [  //返回的顺序与传入的顺序保持一致
        {
            "face_token": "fid1"
        },
        {
            "face_token": "fid2"
        }
    ]
}

备注: 调用的时候最好向数据表插入记录,方便以后统计哦

赞赏

微信赞赏支付宝赞赏

发表评论