private void button3_Click(object sender, EventArgs e)
{
string path = Application.StartupPath + "\\tessdata/";//申明資料源的路徑,在運行目錄的tessdata 檔案夾下。
string language = "";//申明選擇語言。
//*判斷選擇的語言*//
if (checkBox1.Checked && checkBox2.Checked)//checkBox1為識別英文。
{
language = "chi_sim+eng";
}
else
{
if (checkBox2.Checked)
{
language = "chi_sim";
}
else
{
language = "eng";
checkBox1.Checked = true;
}
}
_ocr = new Tesseract(path, language,OcrEngineMode.Default);
//指定引數實體化tessdata 類。
_ocr.Recognize();
//識別影像。
Tesseract.Character[] characters =_ocr.GetCharacters();//這句報錯“System.AccessViolationException”型別的未經處理的例外在 Emgu.CV.World.dll 中發生 。其他資訊: 嘗試讀取或寫入受保護的記憶體。這通常指示其他記憶體已損壞。
//獲取識別資料
Bgr drawColor = new Bgr(Color.Blue);
//創建Bgr 為藍色。
foreach (Tesseract.Character c in characters)//遍歷每個識別資料。
{
image.Draw(c.Region, drawColor, 1);//繪制檢測到的區域。
}
imageBox1.Image = image;//顯示繪制矩形區域的影像
String text = _ocr.GetUTF8Text();//得到識別字串。
richTextBox1.Text = text;//顯示獲取的字串。
//MessageBox.Show(ex.Message);
// MessageBox.Show("檢查運行目錄是否有語言包");
}
}
uj5u.com熱心網友回復:
你的圖片地址換一下,別放桌面。有的從網上下載的圖片就會出現這種情況uj5u.com熱心網友回復:
確定不是由於字庫引起的問題。我現在也出現這樣的,不知道你最后是怎么解決的轉載請註明出處,本文鏈接:https://www.uj5u.com/net/113462.html
標籤:C#
上一篇:C#服務端和客戶端開發及通信
下一篇:.aspx 怎么做輪播圖
