我正在为c#
中的扫描文件阅读器做小。
客户要求是要提供一种工具来选择扫描文件中的区域,以便他可以指定必须读取的区域。
我用下面的代码制作的
public string ReadCharacter(string fileName)
{
string value = "";
try
{
Image<Emgu.CV.Structure.Gray, byte> img = new Image<Emgu.CV.Structure.Gray, byte>(fileName);
System.Drawing.Rectangle staticRec = new System.Drawing.Rectangle(General.Rect_X, General.Rect_Y, General.Rect_Width, General.Rect_Height);
//img.ROI = staticRec;
var _ocr = new Tesseract(@"D:\", "eng", OcrEngineMode.TesseractCubeCombined);
_ocr.SetVariable("tessedit_char_whitelist", "1234567890");
_ocr.Recognize(img);
General.selectedString = _ocr.GetText();
char[] array1 = { '\n', '\r' };
General.selectedString = General.selectedString.Trim(array1);
img.ROI = staticRec;
_ocr.Recognize(img);
value = _ocr.GetText();
// MessageBox.Show(value);
}
catch (Exception ex)
{
MessageBox.Show("Please Select Valid Area " + ex.Message);
}
// MessageBox.Show(value);
return value;
}
但是它不能与所有文件一起正常工作。
任何人都可以帮助我。