ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

C 图片识别(支持21种语言)

2019-03-10 18:48:43  阅读:391  来源: 互联网

标签:OCR http 21 int dll CallingConvention MODI 识别 图片


分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net

原文链接

http://www.cnblogs.com/stone_w/archive/2011/10/08/2202397.html#2472415

 

图片识别的技术到几天已经很成熟了,只是相关的资料很少,为了方便在此汇总一下(C#实现),方便需要的朋友查阅,也给自己做个记号。

 

图片识别的用途:很多人用它去破解网站的验证码,用于达到自动刷票或者是批量注册的目的,但我觉得它最吸引我的地方是可以让一些书写的东西,自动识别成电脑上的文字,比如说手拟的合同,修改过的书面论文或者是文档,每月的花费发票需要在电脑上录入或者是汇总信息,日记本上的文章要转移到电脑上等等,我们现在就不用再头痛把它们在电脑上敲写一遍了。

 

 

本文介绍两种比较主流和成熟的识别方式:

 

方式一、Asprise-OCR实现。

 

方式二、Microsoft Office Document Imaging(Office 2007) 组件实现。

 

方式一、Asprise-OCR的使用。

 

Asprise-OCR下载地址:

 

http://asprise.com/product/ocr/download.php?lang=csharp 

 

其中需要使用的3个dll是AspriseOCR.dll、DevIL.dll、ILU.dll。

 

需要注意的是这几个.dll是vc写的引用要在程序中用DllImport引用,关键代码:

 

[DllImport("AspriseOCR.dll", EntryPoint = "OCR", CallingConvention = CallingConvention.Cdecl)]

 

public static extern IntPtr OCR(string file, int type);

 

[DllImport("AspriseOCR.dll", EntryPoint = "OCRpart", CallingConvention = CallingConvention.Cdecl)]

 

static extern IntPtr OCRpart(string file, int type, int startX, int startY, int width, int height);

 

[DllImport("AspriseOCR.dll", EntryPoint = "OCRBarCodes", CallingConvention = CallingConvention.Cdecl)]

 

static extern IntPtr OCRBarCodes(string file, int type);

 

[DllImport("AspriseOCR.dll", EntryPoint = "OCRpartBarCodes", CallingConvention = CallingConvention.Cdecl)]

 

static extern IntPtr OCRpartBarCodes(string file, int type, int startX, int startY, int width, int height);

 

调用代码很简单只有一句:

 

MessageBox.Show(Marshal.PtrToStringAnsi(OCRpart(img_path, -1, startX, startY, width, height)));

 

其中img_path:为图片路径,startX、startY坐标均为0即可,width、height图片的宽和高。

 

方式二、Microsoft Office Document Imaging(Office 2007) 组件实现。

 

在使用之前需要给大家说的是Imaging 组件的兼容性不是很好,使用win 7 office 2007的时必须打上office 2007 sp1或者sp2补丁,读取中文才行。 

 

sp1补丁地址(226M) :

 

http://download.microsoft.com/download/1/6/5/1659d607-8696-4001-8072-efaedd70dd30/office2007sp1-kb936982-fullfile-zh-cn.exe

 

sp2补丁地址(301 MB):

 

http://download.microsoft.com/download/A/3/9/A39E919E-AFA8-4128-9249-51629206C70F/office2007sp2-kb953195-fullfile-zh-cn.exe 

 

给项目添加组件引用,如图:

 

使用代码:

 

MODI.Document doc = new MODI.Document();

 

doc.Create(img_Path);

 

MODI.Image image;

 

MODI.Layout layout;

 

doc.OCR(MODI.MiLANGUAGES.miLANG_CHINESE_SIMPLIFIED, true, true);  // 识别简体中文

 

for (int i = 0; i < doc.Images.Count; i++)

 

{

 

    image = (MODI.Image)doc.Images[i];

 

    layout = image.Layout;

 

    sb.Append(layout.Text);

 

}

 

MessageBox.Show(sb.ToString());

 

其中img_Path为图片路径,MODI.MiLANGUAGES为读取图片的文字类型枚举。

 

本文源码下载地址:http://files.cnblogs.com/stone_w/OCR.rar 

 

汉王 PDF OCR V8.1简体中文版下载地址(已经使用了,感觉不错推荐一下):http://xiazai.zol.com.cn/detail/34/335364.shtml 

 


作者:西安.王磊 
出处:http://stone_w.cnblogs.com/ 
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net

标签:OCR,http,21,int,dll,CallingConvention,MODI,识别,图片
来源: https://www.cnblogs.com/swdhywhd/p/10506373.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有