LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

[點(diǎn)晴永久免費(fèi)OA]C#百度OCR身份證圖片識(shí)別提取信息

admin
2020年4月24日 17:19 本文熱度 4026

之前寫了一篇利用百度OCR進(jìn)行本地和網(wǎng)絡(luò)圖片識(shí)別文字的文章,點(diǎn)擊查看。今天補(bǔ)充識(shí)別身份證圖片的文章及demo

源碼地址:https://download.csdn.net/download/horseroll/10922409

效果圖展示:


請(qǐng)求參數(shù):


返回參數(shù):


 

1.先引用AIPSDK.dll和Newtonsoft.Json.dll這兩個(gè)DLL

然后在全局變量中聲明變量,在窗體加載事件中new個(gè)類,傳入API_KEY和SECRET_KEY

string API_KEY = "cohIahxAt7HveHLYSHYK6G5N";

string SECRET_KEY = "e8SAsDIWSK9NPUKviYiPQNlfaVDXQSY5";

private void frm_IDCardImgToTxt_Load(object sender, EventArgs e)

{

    client = new Baidu.Aip.Ocr.Ocr(API_KEY, SECRET_KEY);

    client.Timeout = 60000;  // 修改超時(shí)時(shí)間

}


2.傳入圖片地址,識(shí)別圖片,返回識(shí)別結(jié)果

/// <summary>

/// 身份證識(shí)別

/// </summary>

/// <param name="filename"></param>

/// <returns></returns>

public string IdcardDemo(string filename)

{

    bool cardjiaodu = cbjiaodu.Text == "true" ? true : false;

    string cardzhengfan = cbzhengfan.Text == "front" ? "front" : "back";

    bool cardfengxian = cbfengxian.Text == "true" ? true : false;

    var image = File.ReadAllBytes(filename);

    var idCardSide = "back";

    // 調(diào)用身份證識(shí)別,可能會(huì)拋出網(wǎng)絡(luò)等異常,請(qǐng)使用try/catch捕獲

    var result = client.Idcard(image, idCardSide);

    Console.WriteLine(result);

    // 如果有可選參數(shù)

    var options = new Dictionary<string, object>{

{"detect_direction", cardjiaodu.ToString()},

{"detect_risk", cardfengxian.ToString()},

        {"id_card_side",cardzhengfan.ToString() }

};

    // 帶參數(shù)調(diào)用身份證識(shí)別

    result = client.Idcard(image, idCardSide, options);

    return result.ToString();

}


3.識(shí)別后的json內(nèi)容進(jìn)行輸出

/// <summary>

/// 在界面上顯示

/// </summary>

/// <param name="returnstr">json內(nèi)容</param>

public void WriteTo(string returnstr)

{

    try

    {

        ReturnJsonForCard rj = CYQ.Data.Tool.JsonHelper.ToEntity<ReturnJsonForCard>(returnstr);

        AReturnJsonForCard acj = CYQ.Data.Tool.JsonHelper.ToEntity<AReturnJsonForCard>(rj.words_result);

        string resultstr = "";

        resultstr += "姓名:"+acj.姓名.words + "\r\n"+ "性別:" + acj.性別.words + "\r\n"+ "民族:" + acj.民族.words + "\r\n"+ "出生:" + acj.出生.words + "\r\n"+ "住址:" + acj.住址.words + "\r\n"+ "公民身份號(hào)碼:" + acj.公民身份號(hào)碼.words + "\r\n";

        string card_direction = "";

        if(rj.direction=="-1")

        {

            card_direction = "未定義";

        }

        else if (rj.direction == "0")

        {

            card_direction = "正向";

        }

        else if (rj.direction == "1")

        {

            card_direction = "逆時(shí)針90度";

        }

        else if (rj.direction == "2")

        {

            card_direction = "逆時(shí)針180度";

        }

        else if (rj.direction == "3")

        {

            card_direction = "逆時(shí)針270度";

        }

        resultstr += "圖像方向:" + card_direction + "\r\n";

 

        string card_image_status = "";

        if(rj.image_status=="normal")

        {

            card_image_status = "識(shí)別正常";

        }

        else if(rj.image_status == "reversed_side")

        {

            card_image_status = "身份證正反面顛倒";

        }

        else if (rj.image_status == "non_idcard")

        {

            card_image_status = "上傳的圖片中不包含身份證";

        }

        else if (rj.image_status == "blurred")

        {

            card_image_status = "身份證模糊";

        }

        else if (rj.image_status == "other_type_card")

        {

            card_image_status = "其他類型證照";

        }

        else if (rj.image_status == "over_exposure")

        {

            card_image_status = "身份證關(guān)鍵字段反光或過曝";

        }

        else if (rj.image_status == "unknown")

        {

            card_image_status = "未知狀態(tài)";

        }

 

        resultstr += "識(shí)別狀態(tài):" + card_image_status + "\r\n";

 

        string card_risk_type = "";

        if (rj.risk_type == "normal")

        {

            card_risk_type = "正常";

        }

        else if(rj.risk_type == "copy")

        {

            card_risk_type = "復(fù)印件";

        }

        else if (rj.risk_type == "temporary")

        {

            card_risk_type = "臨時(shí)身份證";

        }

        else if (rj.risk_type == "screen")

        {

            card_risk_type = "翻拍";

        }

        else if (rj.risk_type == "unknown")

        {

            card_risk_type = "其他未知情況";

        }

        resultstr += "識(shí)別身份證類型:" + card_risk_type + "\r\n";

 

        resultstr += "圖片編輯工具:" + rj.edit_tool + "\r\n";

        richTextBox1.Clear();

        richTextBox1.AppendText(resultstr);

    }

    catch (Exception ex)

    {

        MessageBox.Show("解析出錯(cuò),出錯(cuò)原因:" + ex.Message);

    }

}


4.json字符串的類

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

namespace 百度OCR

{

    public class ReturnJsonForCard

    {

        public string log_id { get; set; }

        public string direction { get; set; }

        public string image_status { get; set; }

        public string risk_type { get; set; }

        public string edit_tool { get; set; }

        public string words_result_num { get; set; }

        public string words_result { get; set; }

    }

    public class AReturnJsonForCard

    {

        public BReturnJsonForCard 住址 { get; set; }

        public BReturnJsonForCard 出生 { get; set; }

        public BReturnJsonForCard 姓名 { get; set; }

        public BReturnJsonForCard 公民身份號(hào)碼 { get; set; }

        public BReturnJsonForCard 性別 { get; set; }

        public BReturnJsonForCard 民族 { get; set; }

    }

    public class BReturnJsonForCard

    {

        public string location { get; set; }

        public string words { get; set; }

    }

}


該文章在 2020/4/24 17:24:57 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
亚洲男人的天堂在线va拉文 | 一本久久A久久精品综合 | 你懂的网站亚洲欧美另类在线 | 亚洲性色AV乱码字幕无线观看 | 在线不卡长片AV | 一区二区三区在线|欧 |