0

我试图让 OCR 示例应用程序识别一些小文本,而我的做法是调整图像大小。一旦我调整了图像的大小,它都是'pixel-ee'

我想使用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;
           }

这是图像:

在此处输入图像描述

4

1 回答 1

1

_SmoothGaussian只能将奇数作为内核大小处理,因此请尝试使用 3 或 5 作为参数。

于 2013-04-24T14:20:26.123 回答