close

 

首先,請先準備一個檔案 "eng.traineddata " ,這玩意是人家已經做好的數據庫,在Github打上關鍵字後,你應該可以找到一堆。

然後,我們就來寫點Code吧 ! 

 

 

private void button3_Click(object sender, EventArgs e)
        {
            var op = new OpenFileDialog();
            if (op.ShowDialog () == DialogResult.OK)
            {
                Tesseract _ocr = new Tesseract();
                Image<Bgr, byte> image = new Image<Bgr,byte>(op.FileName);
                Image<Gray, byte> gray = image.Convert<Gray, byte>(); ;

                imageBox1.Image = image;

                string path = Application.StartupPath + "\\tessdata";
                string language = "eng";

                try
                {
                    // 指定參數實例化tessdata 類別
                    _ocr = new Tesseract(path, language, OcrEngineMode.Default);
                    
                    // 識別圖像
                    _ocr.SetImage(gray);
                    _ocr.Recognize();
                    // 取得識別數據
                    Tesseract.Character[] characters = _ocr.GetCharacters();

                    // 創建Bgr為藍色
                    Bgr drawColor = new Bgr(Color.Brown);

                    foreach (Tesseract.Character c in characters)
                    {
                        image.Draw(c.Region, drawColor, 1);
                    }
                    imageBox1.Image = image;
                    String text = _ocr.GetUNLVText();
                   //Console.WriteLine(text);
                    richTextBox1.Text = text;

                }
                catch
                {
                    MessageBox.Show("Please check again.");
                }
            }
        }

 

成果 : 

arrow
arrow
    全站熱搜

    Eric 發表在 痞客邦 留言(2) 人氣()