最近研究c#相關的ocr技術,影象識別一般c和c++這種底層語言做的比較多,c#主要是依託一些封裝好的元件進行呼叫,這裡介紹一種身份證識別的方法。
環境搭建
**位址:emgucv官網
在file類別下**這個exe,進行安裝,安裝後在目錄下能找相應元件,還有些應用的案例。
dll資料夾中的dll引用到c#專案中,x64,x86,tessdata對應ocr識別的類庫和語言庫,我tessdata中已新增中文語言包,將這三個資料夾放入程式執行資料夾中。
demo
自己做的小demo如圖:身份證是百度上**的
不得不說這個類庫唯一弊端就是文字識別率太低,影象識別效果也不太好
using system;
using system.collections.generic;
using system.componentmodel;
using system.data;
using system.drawing;
using system.linq;
using system.text;
using system.threading.tasks;
using system.windows.forms;
using emgu.cv;
using emgu.cv.ocr;
using emgu.cv.structure;
using system.io;
namespace emgucv
private void form1_load(object sender, eventargs e)
private void button1_click(object sender, eventargs e)
private void picturebox2_click(object sender, eventargs e)
bitmap bitmap = (bitmap)this.picturebox1.image;
image imagesource = new image(bitmap);
image imagegrayscale = imagesource.convert();
imagegrayscale = randon(imagegrayscale);
imagethreshold = imagegrayscale.thresholdbinary(new gray(100), new gray(www.cppcns.com255));
tuvptpbchis.picturebox2.image = imagethreshold.tobitmap();
} ///
/// 旋轉校正
///
///
///
private image randon(image imageinput)//影象投影旋轉法傾斜校正子函式定義
sumhang[i] = sum;
}sumofcha = 0;
for (int k = 0; k < nheight - 1; k++)
if (sumofcha > sumofchatemp)
}return resultimage;
} private void picturebox1_click(object sender, eventargs e)}}
本文位址:
C 身份證識別相關技術
最近研究c 相關的ocr技術,影象識別一般c和c 這種底層語言做的比較多,c 主要是依託一些封裝好的元件進行呼叫,這裡介紹三種身份證識別的方法。以聚合資料中的api介面為例,因為官方api沒有提供c 的呼叫方式,如下 證件識別介面 上傳 public static string cardupload...
OCR身份證識別功能
我們來理解下這個類函式的運作機制,藉此聯想下tesseract引擎的實現原理。機制如下 1.呼叫init 方法,即對引擎初始化 2.呼叫setimage 方法,設定圖形流的資訊 3.通過getutf8text 方法獲得text資訊 4.呼叫recognizedtext類,判斷text的正確性,然後輸...
身份證識別OCR行業技術
某近日去了一趟國家圖書館,體驗了一把身份證識別。話說來也是很巧,自動辦讀書卡的地方人很多,我想蒙混進到圖書室內,怎麼也是漫無目的的看書唄。自信滿滿地就進去了,果斷地被攔住了 刷卡!沒有怎麼辦,刷臉行不?現在不也流行人臉識別嗎!刷身份證!恰巧帶了身份證,放在他那個身份證讀卡器上,滴滴兩聲,進去吧!可以...