2020年7月6日星期一

csharp: Emgu.CV.OCR and Tesseract.OCR Optical Character Recognition

 

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; //3.2.02using Emgu.CV.VideoStab;using Emgu.CV.ML;using Emgu.CV.OCR;using Emgu.CV.Structure;//https://github.com/iobrains/OpenCVnamespace CharacterRecognition{ /// <summary> /// geovindu edit /// </summary> public partial class MainWnd : Form {  string path;  public MainWnd()  {   InitializeComponent();  }  /// <summary>  ///   /// </summary>  /// <param name="sender"></param>  /// <param name="e"></param>  private void loadImageToolStripMenuItem_Click(object sender, EventArgs e)  {   rtbOcrResult.Clear();   OpenFileDialog ofd = new OpenFileDialog();   ofd.Title = "Select an image";   ofd.Filter = "Image Files(*.png; *.jpg; *.bmp; *.gif)|*.png; *.jpg; *.bmp; *.gif";   if (ofd.ShowDialog() == DialogResult.OK)   {    path = System.IO.Path.GetFullPath(ofd.FileName);    picBox.Image = new Bitmap(path);    picBox.SizeMode = PictureBoxSizeMode.Zoom;    statusLabelOCR.Text = path + " loaded.";   }  }  /// <summary>  ///   /// </summary>  /// <param name="sender"></param>  /// <param name="e"></param>  private void exitToolStripMenuItem_Click(object sender, EventArgs e)  {   Close();  }  /// <summary>  ///   /// </summary>  /// <param name="sender"></param>  /// <param name="e"></param>  private void btnAnalyzeImage_Click(object sender, EventArgs e)  {   if(picBox.Image == null)   {    MessageBox.Show("Load an image first!");   }   else   {    statusLabelOCR.Text = "Analyzing invoice image...";    Task.Run(() =>    {     using (var img = new Image<Bgr, byte>(path))     {      //https://github.com/tesseract-ocr/tessdata/      //Environment.GetEnvironmentVariable("EMGU_ROOT") +      string tessdata = @"D:\open source\face\tessdata";      using (var ocrProvider = new Tesseract(tessdata, "eng", OcrEngineMode.TesseractOnly)) //TesseractCubeCombined      {       ocrProvider.SetImage(img); //Recognize       string text = ocrProvider.GetUTF8Text().TrimEnd(); //GetText       rtbOcrResult.Invoke((MethodInvoker)delegate            {             statusLabelOCR.Text = "Analysis completed.";             rtbOcrResult.AppendText(text);            });             }     }    });       }  }  /// <summary>  ///   /// </summary>  /// <param name="sender"></param>  /// <param name="e"></param>  private void MainWnd_Load(object sender, EventArgs e)  {  } }}

  

 

csharp: Emgu.CV.OCR and Tesseract.OCR Optical Character Recognition飞书互动naver手机trademanager(精品分析)亚马逊英国站垃圾袋类目市场调查数据报告亚马逊推新系统!欲绝杀供应商账户......亲爹撑腰?亚马逊自营品牌Belei上线两天斩获BSR头名!珠海有什么好玩的地方珠海有什么旅游景点珠海有什么旅游景点

没有评论:

发表评论