调用微软MODI文字识别,OCR running error问题

cjwlz 2012-09-19 08:32:13
我能进行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{ }
...全文
804 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
yeahcn3 2014-07-10
  • 打赏
  • 举报
回复
我发现使用png 暂时还不会error 但是bmp gif tiff 都会error。
xujy0000 2013-07-18
  • 打赏
  • 举报
回复
这儿有解决办法。http://bbs.csdn.net/topics/390135443
singlesyb 2013-05-22
  • 打赏
  • 举报
回复
我觉得是不是删除文件的问题……
dhy8084 2012-12-24
  • 打赏
  • 举报
回复
楼主,你的问题解决了吗?我也碰到了同样的问题!
cjwlz 2012-10-08
  • 打赏
  • 举报
回复
能让我看一下你的识别效果吗,我跟公司商讨了一下,如果你的识别符合我们的要求,我们公司愿意花钱买你的OCR识别这一块,待遇什么的我们可以商量,有意向的可以加我QQ:396346928,谢谢[Quote=引用 4 楼 的回复:]
我的系统是WIN7的 打完office 2007sp2补丁后就没事了~
[/Quote]
cjwlz 2012-10-08
  • 打赏
  • 举报
回复
假期都过去了,高手出现啊 求教!
cjwlz 2012-09-28
  • 打赏
  • 举报
回复
我写的是winform程序,跟你所说的那个因素有关系吗?还有没有其他可能的因素啊?
[Quote=引用 7 楼 的回复:]

1.如果你写的是WEB程序,检查下调用COM组件权限,运行程序调用com组件,需要权限很高,你可以用超级管理员的身份运行的试试
[/Quote]
huihuipeng 2012-09-28
  • 打赏
  • 举报
回复
1.如果你写的是WEB程序,检查下调用COM组件权限,运行程序调用com组件,需要权限很高,你可以用超级管理员的身份运行的试试
cjwlz 2012-09-28
  • 打赏
  • 举报
回复
现在我把系统已经换成WIN7了 64位的,office 2007也已经打上sp2补丁了,可是还是出现同样的错误,我真不知道该咋办了,能不能帮个忙,把你OCR识别这块儿所配置的环境说详细点呗 谢谢啦![Quote=引用 4 楼 的回复:]

我的系统是WIN7的 打完office 2007sp2补丁后就没事了~
[/Quote]
cjwlz 2012-09-22
  • 打赏
  • 举报
回复
还是没解决,真的那么难吗 求解,求顶啊!
baichangle 2012-09-20
  • 打赏
  • 举报
回复
我的系统是WIN7的 打完office 2007sp2补丁后就没事了~
cjwlz 2012-09-20
  • 打赏
  • 举报
回复
我office 2007打上sp2补丁了,但我使用的windows xp 系统,这跟系统有影响吗? [Quote=引用 2 楼 的回复:]

使用win 7 office 2007的时必须打上office 2007 sp1或者sp2补丁
[/Quote]
baichangle 2012-09-19
  • 打赏
  • 举报
回复
使用win 7 office 2007的时必须打上office 2007 sp1或者sp2补丁
cjwlz 2012-09-19
  • 打赏
  • 举报
回复
求顶啊,谢啦~

109,871

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧