1141-C# Winform識(shí)別圖片文字源碼 tesseract OCR
關(guān)于軟件的使用:在win7及一下的電腦上運(yùn)行時(shí)需要安裝.net framework4.0,另外該程序?qū)χ话谋荆椅谋厩逦膱D片識(shí)別率較高,另外隨著文字的增多識(shí)別的成功率會(huì)下降。
該軟件采用的是Tesseract及其配套的訓(xùn)練庫(kù)來(lái)實(shí)現(xiàn)圖片中的文字識(shí)別(包括中文)。
如果讀者要自己創(chuàng)建同樣的識(shí)別程序需要注意的地方有以下幾點(diǎn):
1、 需要的文件有:Tesseract.dll和chi_sim.traineddata。這兩個(gè)文件在該項(xiàng)目目錄下均可以找到。
2、 項(xiàng)目目標(biāo)處理器必須設(shè)置為x86,不然運(yùn)行不通過(guò)
3、 使用時(shí),將Tesseract.dll添加到項(xiàng)目引用中。如果準(zhǔn)備使用.net4.0框架主要修改app.config與本文件中的app.config一致。如果不想修改app.config,請(qǐng)將項(xiàng)目.net框架降低3.5版本,否則編譯時(shí)出錯(cuò)。
4、 主要的識(shí)別過(guò)程如下:
Bitmap bmp = new Bitmap(textBox_Path.Text);
TesseractProcessor process = new TesseractProcessor();
process.SetPageSegMode(ePageSegMode.PSM_SINGLE_LINE);
process.Init(System.Environment.CurrentDirectory+"\\","chi_sim", (int)eOcrEngineMode.OEM_DEFAULT);
string result = process.Recognize(bmp);
MessageBox.Show("識(shí)別結(jié)果為:"+result);
其中process.Init函數(shù)的第一個(gè)參數(shù)為chi_sim.traineddata的路徑,本項(xiàng)目中為軟件運(yùn)行目錄下(記著把文件放在指定目錄下,不然運(yùn)行會(huì)出錯(cuò)的),記得最后還有反斜杠。第二個(gè)參數(shù)為訓(xùn)練庫(kù)名不帶擴(kuò)展名的。第三個(gè)參數(shù)不用管,原封抄下就可以了。
5、 另外注意文件chi_sim.traineddata是訓(xùn)練庫(kù)文件,如果覺(jué)得識(shí)別率不高可以自己再網(wǎng)上找Tesseract的訓(xùn)練庫(kù),替換該文件。

本源碼地址:http://www.jsxyx.com.cn/vip/net/2019/0801/19738.html