ホームページ >バックエンド開発 >PHPの問題 >PHPでIDカードOCR認識を実装する方法

PHPでIDカードOCR認識を実装する方法

青灯夜游
青灯夜游オリジナル
2022-10-21 18:22:282482ブラウズ

ID カード OCR 認識を実装する方法: 1. ID カード OCR 認識インターフェイスのオープンを申請し、API リクエスト KEY を取得します; 2. 「function juhecurl($url,$params=false)」を通じてインターフェイス API を呼び出します,$ispost =0){...}"、データを処理して結果を返します; 3. インターフェイスによって返されたコンテンツを取得し、json_decode() を使用して配列に解析します; 4. 返された結果を出力します。

PHPでIDカードOCR認識を実装する方法

このチュートリアルの動作環境: Windows 7 システム、PHP バージョン 8.1、DELL G3 コンピューター

ID ベースPHP 証明書 OCR 認識インターフェイスの呼び出し例

アプリケーション インターフェイス

インターフェイスの備​​考: 前面または背面を識別するためのいくつかのキーID カードの裏面 Zi

https://www.juhe.cn/docs/api/id/287?s=cpphpcn を通じてセルフサービス アクティベーション インターフェイスを申請し、 API リクエスト KEY

リクエスト パラメータ

#key は # [パーソナル センター] -> [マイ データ] で、インターフェイス名の上に表示されますimage は 画像データ、base64 エンコード (data:image/jpeg;base64 を除く)、base64 エンコード後のサイズは必須ではありません4Mを超える場合は最短辺15px以上、最小長辺最大4096px、jpg/png/bmp形式対応sideは前: 前方認識、後: 逆認識;
名前 必須 説明

PHP サンプル コード

https://www.sdk.cn/details/vOVl36qOLmlV8E9WXJ

$apiurl="http://apis.juhe.cn/idimage/verify";//请求地址
$key = "";//32位的KEY
$image= "";//图片base64后字符串
$side="front";//正反面
$params=compact('key','image','side');//组合请求参数
$content=juhecurl($apiurl,$params,1);//post请求获取接口返回内容json字符串
$result = json_decode($content,true);//解析成数组
if($result){
    if($result['error_code']=='0'){
        print_r($result);
    }else{
        echo $result['error_code'].":".$result['reason'];
    }
}else{
    echo "请求失败";
}

//网络请求方法
 function juhecurl($url,$params=false,$ispost=0){
        $httpInfo = array();
        $ch = curl_init();
 
        curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
        curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 3);
        curl_setopt( $ch, CURLOPT_TIMEOUT , 8);
        curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
        if ($params) {
            if (is_array($params)) {
                $paramsString = http_build_query($params);
            } else {
                $paramsString = $params;
            }
        } else {
            $paramsString = "";
        }   
        if( $ispost )
        {
            curl_setopt( $ch , CURLOPT_POST , true );
            curl_setopt( $ch , CURLOPT_POSTFIELDS , $paramsString);
            curl_setopt( $ch , CURLOPT_URL , $url );
        }
        else
        {
            if($paramsString ){
                curl_setopt( $ch , CURLOPT_URL , $url.'?'.$paramsString);
            }else{
                curl_setopt( $ch , CURLOPT_URL , $url);
            }
        }
        $response = curl_exec( $ch );
        if ($response === FALSE) {
            //echo "cURL Error: " . curl_error($ch);
            return false;
        }
        $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
        $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
        curl_close( $ch );
        return $response;
}

JSON 戻り例

身份证正面识别结果示例:
{
"reason": "成功",
"result":{
         "realname": "张三",/*姓名*/
         "sex": "男",/*性别*/
         "nation": "侗",/*民族*/
         "born": "19760613",/*出生日期*/
         "address": "贵州省都匀市甘塘镇长红机器厂散居户169号",/*地址*/
         "idcard": "522701197606131935",/*身份证号*/
         "side": "front",/*正面*/
         "orderid": 339057896/*本次查询流水号*/
        

},
"error_code": 0
}
--------------------------------------------------------------------------------------------
身份证背面识别结果示例:
{
"reason": "成功",
"result":{
     "begin": "20130501",/*签发日期*/
     "department": "东台市公安局",/*签发机关*/
     "end": "20180501",/*失效日期*/ 
     "side": "back",/*反面*/
     "orderid": 478799279/*本次查询流水号*/
          },
"error_code": 0
}

推奨学習:「

PHP ビデオ チュートリアル#」を参照してください。 ##"

以上がPHPでIDカードOCR認識を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。