2012-08-13 88 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作爲參數。