Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用opencv对tesseract图像进行预处理_Opencv_Xamarin_Xamarin.android_Ocr_Emgucv - Fatal编程技术网

使用opencv对tesseract图像进行预处理

使用opencv对tesseract图像进行预处理,opencv,xamarin,xamarin.android,ocr,emgucv,Opencv,Xamarin,Xamarin.android,Ocr,Emgucv,在将图像交给OCR之前,我想知道处理图像以获得最佳效果所需的方法。此外,应该提供什么字符集以获得最佳结果。目前,我正在开发Xamarin Android应用程序 下面是我的图像处理代码 CvInvoke.CvtColor(img, img, ColorConversion.Bgr2Gray); //CvInvoke.Canny(gray, canny, 100, 50, 3, false); Size s = new Size(3, 3); CvInvoke.GaussianBlur(i

在将图像交给OCR之前,我想知道处理图像以获得最佳效果所需的方法。此外,应该提供什么字符集以获得最佳结果。目前,我正在开发Xamarin Android应用程序

下面是我的图像处理代码

 CvInvoke.CvtColor(img, img, ColorConversion.Bgr2Gray);
 //CvInvoke.Canny(gray, canny, 100, 50, 3, false);
 Size s = new Size(3, 3);
 CvInvoke.GaussianBlur(img, img, s, 0, 0, BorderType.Default);
 //CvInvoke.FastNlMeansDenoising(img, img, 3, 7, 21);
 CvInvoke.AdaptiveThreshold(img, img, 255, AdaptiveThresholdType.MeanC, Emgu.CV.CvEnum.ThresholdType.Binary, 5, 4);
 CvInvoke.Threshold(img, img, 0, 255,  Emgu.CV.CvEnum.ThresholdType.Otsu);
我正在使用EmguCv库进行处理,以及使用Tesseract

下面是我的白名单字符集

_ocr.SetVariable("tessedit_char_whitelist", 
    "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-1234567890 :$/.?,!@#%^&*()_+=\'\";{}[]+");

我想扫描收据,我对这个概念很陌生。请告诉我您的想法。

改进了代码格式。改进语法。将标题更改为更具描述性的问题。图像处理非常依赖于图像。您有任何示例图像吗?改进的代码格式。改进语法。将标题更改为更具描述性的问题。图像处理非常依赖于图像。你有什么样的图片吗?