继续求解关于调用微软MODI进行文字图像识别,出现“OCR running error”

cjwlz 2012-09-11 01:12:45
我能进行OCR识别了,但有一个问题:当我选择的识别区域较小(或者说文字较少)时,抛出错误信息“OCR running error”,不知道是什么原因,有人说是电脑因素,有的说截取图像要作处理,还有的说是RP问题,我迷茫了,我想要的效果是:即便选择一个汉字或数字也可以进行识别。希望各位高手指点一下!
我的识别关键代码:
//创建一个临时文件
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{ }
...全文
386 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hello_TanGT 2014-10-13
  • 打赏
  • 举报
回复
楼主,你好,我目前也有相关的任务要处理,能否问一下你的问题后来如何解决的呢
soyslly 2013-07-15
  • 打赏
  • 举报
回复
兔子的方法行
拉拉123 2013-05-17
  • 打赏
  • 举报
回复
你好,楼主,请问这个问题你最后是怎么解决的呢。我现在也碰到这个问题呢。
cjwlz 2012-10-16
  • 打赏
  • 举报
回复
我试试看 谢谢[Quote=引用 6 楼 的回复:]
如下,供参考

C# code


Bitmap bmp = new Bitmap(m_obj.Width, 500, System.Drawing.Imaging.PixelFormat.Format32bppRgb);

Graphics g = Graphics.FromImage(bmp);
try
……
[/Quote]
Rabit9556 2012-10-15
  • 打赏
  • 举报
回复
如下,供参考

Bitmap bmp = new Bitmap(m_obj.Width, 500, System.Drawing.Imaging.PixelFormat.Format32bppRgb);

Graphics g = Graphics.FromImage(bmp);
try
{
g.DrawImage(img, new Rectangle(0, 0, img.Width, img.Height));
}
cjwlz 2012-10-10
  • 打赏
  • 举报
回复
请问如何将“这块区域复制到空白的图片中”?求关键代码示例[Quote=引用 4 楼 的回复:]

对图像进行预处理,尽量保持每次识别的图片尺寸都是固定的,我尝试过,一般 500*750 的基本没有问题,如果选择的识别区域很小,建议把这块区域复制到空白的图片中。
[/Quote]
Rabit9556 2012-10-10
  • 打赏
  • 举报
回复
对图像进行预处理,尽量保持每次识别的图片尺寸都是固定的,我尝试过,一般 500*750 的基本没有问题,如果选择的识别区域很小,建议把这块区域复制到空白的图片中。
cjwlz 2012-09-12
  • 打赏
  • 举报
回复
再没人帮顶一下就要石沉大海啦,好心人啊 ,帮顶下吧!
cjwlz 2012-09-11
  • 打赏
  • 举报
回复
求教各位啦 帮小妹一把吧,自己顶一下!
cjwlz 2012-09-11
  • 打赏
  • 举报
回复
求教各位啦 帮小妹一把吧,自己顶一下!

110,534

社区成员

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

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

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