基于百度AI完成OCR身份证识别功能

百度AI链接:https://ai.baidu.com 

  1. 注册百度AI的账户、完善百度AI账户中的应用信息等。
  2. 下载对应的SDK(本文以PHP为例)

 下载完成后 将文件放置在自己的项目中。

 本文目录结构如上图所示。

3.创建AipOcr.php(自定义)

<?php
/**
 * Created by PhpStorm.
 * User: timkj
 * Date: 2019/5/19
 * Time: 下午4:22
 */
require_once 'class/AipOcr.php';

// 你的 APPID AK SK
const APP_ID = '';
const API_KEY = '';
const SECRET_KEY = '';

$client = new AipOcr(APP_ID, API_KEY, SECRET_KEY);

//print_r($_POST);
//print_r($_FILES);
//对上传文件大小 类型进行限制
if($_FILES["file"]["error"])
{
    echo $_FILES["file"]["error"];
}else{
    if((
        $_FILES["file"]["type"]=="image/png"
        ||$_FILES["file"]["type"]=="image/jpeg"
        ||($_FILES['file']['type']=="image/jpg")
        ||($_FILES['file']['type']=="image/x-png")
        )&&$_FILES["file"]["size"]<2048000) //小于两兆 且文件类型为png 或 jpeg
    {
        //获取缓存文件 将缓存文件上传到API进行验证 返回成功 进行文件复制

        $image = file_get_contents($_FILES["file"]["tmp_name"]);
        $idCardSide = "front";
        $a = $client->idcard($image, $idCardSide);
        //print_r($a);
        if ($a['image_status']=='normal'){
            //print_r('进入存储图片环节');
            //判断图片检测正常! 将缓存文件 调整到 文件中

            $path .= '../../idcard/'.date('Ymd',time());
            if(!file_exists($path))//文件夹不存在,先生成文件夹
            {
                    mkdir($path,0777,true);
            }
            $file_name=date('YmdHis',time()).mt_rand(1000,9999);


                move_uploaded_file($_FILES['file']['tmp_name'], $path . "/" . $file_name .$_FILES['file']['name']);
                echo '上传成功|' . $path . "/" .$file_name .$_FILES['file']['name'];
               

        }else{
            echo '识别失败';
        }
    }else{

        print_r('{image_status":"fileerror"}');
    }
}

前端调用AipOcr.php方式:

使用Form表单直接提交File即可。

当证件识别成功才会将缓存文件复制到指定的文件夹。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章