2012-08-13 70 views
0

我试图让OCR示例应用程序识别一些小文本,以及我如何做它是调整图像大小。有一次,我已经调整图像它是所有“像素EE”我如何使用Emgu CV _SmoothGausian方法

我想用SmothGaussian方法把它清理干净,但每次我执行方法

这里时,我得到一个错误代码:

Image<Bgr, Byte> image = new Image<Bgr, byte>(openImageFileDialog.FileName); 

      using (Image<Gray, byte> gray = image.Convert<Gray, Byte>().Resize(800, 600, Emgu.CV.CvEnum.INTER.CV_INTER_LINEAR, true)) 
      { 

       gray.Convert<Gray, Byte>()._SmoothGaussian(4); 



       _ocr.Recognize(gray); 
       Tesseract.Charactor[] charactors = _ocr.GetCharactors(); 
       foreach (Tesseract.Charactor c in charactors) 
       { 
        image.Draw(c.Region, drawColor, 1); 
       } 

       imageBox1.Image = image; 

       //String text = String.Concat(Array.ConvertAll(charactors, delegate(Tesseract.Charactor t) { return t.Text; })); 
       String text = _ocr.GetText(); 
       ocrTextBox.Text = text; 
      } 

这里是图像:

enter image description here

+0

试试这个:image = image.SmoothGaussian(13,13,2,0); – EdgarT 2012-08-31 23:57:32

+0

为什么当它已经是这种格式时,试图将图像转换为''?这并不重要,但似乎没有必要。 – 2013-04-24 14:21:55

回答

1

_SmoothGaussian只能处理奇数作为内核大小,所以请尝试以3或5作为参数。