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


簡介

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

Tesseract概述

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

1、引用Tesseract

1.1、創建空的項目解決方案

創建成功后分別創建兩個空的項目解決方案文件夾 WinformDemo 跟 TesseractWeb

1.2、winform配置跟源碼

創建window窗體應用程序,使用 Nuget 添加 Tesseract ,搜索 tesseract-ocr ,現在最新版本是 3.2.0-alpha4,這里演示使用的是 3.0.2 穩定版 。如下圖所示,選擇所需要的版本安裝即可。

安裝完成后再項目中會添加如下兩個文件夾

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

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

我使用的是英語語言包

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

后台代碼:

 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(); } } }

效果如下:

可以看出沒有干擾線的識別還是很准確。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM