调用微软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补丁