基於百度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即可。

當證件識別成功纔會將緩存文件複製到指定的文件夾。

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