调用微软MODI文字识别,OCR running error问题
我能进行OCR识别了,但有一个问题:当我选择的识别区域较小(或者说文字较少)时,抛出错误信息“OCR running error”,不知道是什么原因,有人说是电脑因素,有的说截取图像要作处理,我想要的效果是:即便选择一个汉字或数字也可以进行识别。希望各位高手指点一下!
我的识别关键代码:
C# code
//创建一个临时文件
                 string strFileName =string.Format("{0:yyyy_MM_dd_HH_mm_ss_ffff}", DateTime.Now) + ".tif";
                 try
                 {
                     //位图对象保存到一个TIFF文件
                     m_obj.Save(strFileName, ImageFormat.Tiff);
                     //实例化MODI.Document对象
                     MODI.Document md = new MODI.Document();
                     md.Create(strFileName);
                     //运行OCR
                     md.OCR(MODI.MiLANGUAGES.miLANG_CHINESE_SIMPLIFIED, true, true);    //定义要识别的语言种类
                     //这个字符串将包含文本
                     string strText = String.Empty;
                     //获得第一个图片
                     MODI.Image image = (MODI.Image)md.Images[0];
                     //获取布局
                     MODI.Layout layout = image.Layout;
                     //遍历文字
                     for (int j = 0; j < layout.Words.Count; j++)
                     {
                         //得到文字
                         MODI.Word word = (MODI.Word)layout.Words[j];
                         // 添加一个空格来分隔文字
                         if (strText.Length > 0)
                         {
                             strText += " ";
                         }
                         //添加文字
                         strText += word.Text;
                     }
                       //关闭对象
                 layout = null;
                 image = null;
                 md.Close(false);
                 md = null;
                 GC.Collect();
                 GC.WaitForPendingFinalizers();
                     //创建对话框显示文本的文本识别
                     ShowText st = new ShowText();
                     //该对话框的文本
                     st.m_strOCRText = strText;
                     //显示的对话框
                     st.ShowDialog();
                 }
                 catch (Exception ex)
                 {
                     MessageBox.Show(ex.Message.toString());    
                 }
                 try
                 {
                     //删除临时文件
                     File.Delete(strFileName);              
                 }
                 catch{ }
------解决方案--------------------
使用win 7 office 2007的时必须打上office 2007 sp1或者sp2补丁