当前位置: 首页 > news >正文

C# 图片识别(支持21种语言)【转】

原文连接http://shinylife.net/blog/article.asp?id=1131

图片识别的技术到几天已经很成熟了,只是相关的资料很少,为了方便在此汇总一下(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 

OCR识别图片的一些实例

转载于:https://www.cnblogs.com/keewit/archive/2012/10/11/2719686.html

相关文章:

  • Qt学习之路(tip): Qt容器和算法拾遗
  • 使用 vimdiff 來呈現 Git diff 差異
  • android 开发Eclipse 快捷键
  • Qt学习之路(51): QByteArray和QVariant
  • 我该如何奋斗?
  • Qt学习之路(50): QString
  • 原创:C语言贪吃蛇代码
  • Qt学习之路(49): 通用算法
  • 【转】解决:SecureCRT在Linux下vim显示utf-8编码的文件乱码
  • Qt学习之路(47): 自定义Model之三
  • 用vc++做滚动条控件
  • Qt学习之路(48): 自定义委托
  • 9520个大气笔刷!902个无缝叠加图案!!770个质感纹理!!!
  • Qt学习之路(46): 自定义model之二
  • 解决EntityFramework数据库无法自动迁移解决方法
  • C++类中的特殊成员函数
  • HTTP--网络协议分层,http历史(二)
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • java2019面试题北京
  • javascript 哈希表
  • JS字符串转数字方法总结
  • python docx文档转html页面
  • React as a UI Runtime(五、列表)
  • SegmentFault 2015 Top Rank
  • sessionStorage和localStorage
  • SpiderData 2019年2月13日 DApp数据排行榜
  • 仿天猫超市收藏抛物线动画工具库
  • 开源地图数据可视化库——mapnik
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 浅谈web中前端模板引擎的使用
  • 深入浅出webpack学习(1)--核心概念
  • 实现菜单下拉伸展折叠效果demo
  • 双管齐下,VMware的容器新战略
  • 我这样减少了26.5M Java内存!
  • 携程小程序初体验
  • 再次简单明了总结flex布局,一看就懂...
  • “十年磨一剑”--有赞的HBase平台实践和应用之路 ...
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • #{} 和 ${}区别
  • #考研#计算机文化知识1(局域网及网络互联)
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (生成器)yield与(迭代器)generator
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (一)WLAN定义和基本架构转
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • ******IT公司面试题汇总+优秀技术博客汇总