使用Office组件进行文字识别,遇到的问题

jshzp 2017-06-15 10:46:04
下面的代码引用了Microsoft Office Document Imaging组件,对截图进行文字识别:

string result="";
Size sz = new Size(188, 160);
Bitmap image = new Bitmap(sz.Width, sz.Height);
Graphics imgGraphics = Graphics.FromImage(image);
imgGraphics.CopyFromScreen(X - sz.Width / 2, Y - sz.Height / 2, 0, 0, new Size(Width, Height));

image.Save("dest.jpg", ImageFormat.Jpeg);//保存到硬盘
MODI.Document doc = new MODI.Document();//MODI引用自Microsoft Office Document Imaging的组件
doc.Create("dest.jpg");//貌似这里是关键

MODI.Image image1;
MODI.Layout layout;
doc.OCR(MODI.MiLANGUAGES.miLANG_CHINESE_SIMPLIFIED, true, true);
for (int i = 0; i < doc.Images.Count; i++)
{
image1 = (MODI.Image)doc.Images[i];
layout = image1.Layout;
result += layout.Text;
}

截图内容先保存为硬盘文件“dest.jpg”,然后再读取出来识别文字。因为软件是长期运行的,为避免频繁读写硬盘,能不能把截图后的图像只是放在内存里,然后直接从内存里取得图像,而不是去从硬盘文件读取?怎样改写上面的代码?特别是 doc.Create("dest.jpg");这句话。
谢谢指教!
...全文
123 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
exception92 2017-06-15
  • 打赏
  • 举报
回复
把图片保存在memorystream里,再读取出来。 http://www.rasteredge.com/how-to/csharp-imaging/convert-image-to-stream/

110,534

社区成员

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

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

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