【c#】Tesseract-ocr 3.0.2 版本使用實例

簡介

光學字符識別(OCR,Optical Character Recognition)是指對文本資料進行掃描,而後對圖像文件進行分析處理,獲取文字及版面信息的過程。OCR技術很是專業,通常可能是印刷、打印行業的從業人員使用,能夠快速的將紙質資料轉換爲電子資料。關於中文OCR,目前國內水平較高的有清華文通、漢王、尚書,其產品各有千秋,價格不菲。國外OCR發展較早,像一些大公司,如IBM、微軟、HP等,即便沒有推出單獨的OCR產品,可是他們的研發團隊早已掌握核心技術,將OCR功能植入了自身的軟件系統。對於咱們程序員來講,通常用不到那麼高級的,主要在開發中可以集成基本的OCR功能就能夠了。html

Tesseract概述

Tesseract的OCR引擎最早由HP實驗室於1985年開始研發,至1995年時已經成爲OCR業內最準確的三款識別引擎之一。然而,HP不久便決定放棄OCR業務,Tesseract也今後塵封。數年之後,HP意識到,與其將Tesseract束之高閣,不如貢獻給開源軟件業,讓其重煥新生--2005年,Tesseract由美國內華達州信息技術研究所得到,並求諸於Google對Tesseract進行改進、消除Bug、優化工做。Tesseract目前已做爲開源項目發佈在Google Project(現已託管 github),其項目主頁在這裏查看,3.0版本已經支持中文OCR,並提供了一個命令行工具。主庫地址git

一、引用Tesseract

1.一、建立空的項目解決方案

建立成功後分別建立兩個空的項目解決方案文件夾 WinformDemo 跟 TesseractWeb程序員

1.二、winform配置跟源碼

建立window窗體應用程序,使用 Nuget 添加 Tesseract ,搜索 tesseract-ocr ,如今最新版本是 3.2.0-alpha4,這裏演示使用的是 3.0.2 穩定版 。以下圖所示,選擇所須要的版本安裝便可。github

安裝完成後再項目中會添加以下兩個文件夾工具

圖片上傳參考:http://www.cnblogs.com/miskis/p/7607024.html優化

語言文件下載地址:https://github.com/tesseract-ocr/tesseract/wiki/Data-Files#data-files-for-version-302spa

我使用的是英語語言包命令行

下載後解壓文件找到 tessdata  把它拷貝到你的項目中3d

後臺代碼:code

 private void button1_Click(object sender, EventArgs e) { if (openFileDialog.ShowDialog() == DialogResult.OK) { //PictureBox控件顯示圖片  Image.Load(openFileDialog.FileName); //獲取用戶選擇文件的後綴名 string extension = Path.GetExtension(openFileDialog.FileName); //聲明容許的後綴名 string[] str = new string[] { ".jpg", ".png" }; if (!str.Contains(extension)) { MessageBox.Show("僅能上傳jpg,png格式的圖片!"); } else { //識別圖片文字 var img = new Bitmap(openFileDialog.FileName); var ocr = new TesseractEngine("./tessdata", "eng", EngineMode.TesseractAndCube); var page = ocr.Process(img); label1.Text = page.GetText(); } } }

效果以下:

能夠看出沒有干擾線的識別仍是很準確。

相關文章
相關標籤/搜索