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

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

时间: 2024-10-27 07:09:31

C# 图片识别(支持21种语言)的相关文章

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

图片识别的技术到几天已经很成熟了,只是相关的资料很少,为了方便在此汇总一下(C#实现),方便需要的朋友查阅,也给自己做个记号. 图片识别的用途:很多人用它去破解网站的验证码,用于达到自动刷票或者是批量注册的目的,但我觉得它最吸引我的地方是可以让一些书写的东西,自动识别成电脑上的文字,比如说手拟的合同,修改过的书面论文或者是文档,每月的花费发票需要在电脑上录入或者是汇总信息,日记本上的文章要转移到电脑上等等,我们现在就不用再头痛把它们在电脑上敲写一遍了. 本文介绍两种比较主流和成熟的识别方式: 方

C# 图片识别技术(支持21种语言,提取图片中的文字)

图片识别的技术到几天已经很成熟了,只是相关的资料很少,为了方便在此汇总一下(C#实现),方便需要的朋友查阅,也给自己做个记号. 图片识别的用途:很多人用它去破解网站的验证码,用于达到自动刷票或者是批量注册的目的,但我觉得它最吸引我的地方是可以让一些书写的东西,自动识别成电脑上的文字,比如说手拟的合同,修改过的书面论文或者是文档,每月的花费发票需要在电脑上录入或者是汇总信息,日记本上的文章要转移到电脑上等等,我们现在就不用再头痛把它们在电脑上敲写一遍了. 本文介绍两种比较主流和成熟的识别方式: 方

[转自老马的文章]用MODI OCR 21种语言

作者:马健邮箱:[email protected]发布:2007.12.08更新:2012.07.09按照<MODI中的OCR模块>一文相关内容进行修订2012.07.02按照新版Pdg2Pic的情况对内容进行补充2012.06.11标题从<在简体中文Office 2003下OCR繁体中文.日文.韩文>改为<用MODI OCR 21种语言> 目录1 安装MODI    1.1 Office 2003下安装MODI    1.2 Office 2007下安装MODI   

支持10种语言的在线版邮件群发软件-Zoho Campaigns

发邮件早已成为我们工作与生活中不可或缺的一项任务.从现在开始,Zoho Campaigns支持多语言版本,让您不论在世界的哪个角落工作,都可以用上当地的语言.现在除了英语,您还可以使用以下这些语言: 中文 荷兰语 法语 德语 匈牙利语 意大利语 日语 葡萄牙语 西班牙语 随着Zoho CRM 10用户免费版的普及,产品相互集成的功能受到用户的推崇.越来越多的CRM用户喜欢与Campaigns集成起来用.现在,这两种产品可以使用同一种语言了.如果您觉得光语言本地了还不够,邮件模板也要本地才行,您可

Xcode中C、C++、Object-C3种语言的混编

转自: http://hi.baidu.com/onejw/item/f34390c997cdc226a1b50ae http://www.cocoachina.com/ask/questions/show/57217 http://www.cnblogs.com/uyoug321/archive/2010/12/11/1903499.html Xcode中支持C.C++.Object-C3种语言的混编 Xcode中支持C.C++.Object-C3种语言的混编,那么如果想让编译器混编,只需要将

图片识别引擎-识图引擎搜集~

图片识别引擎-识图引擎搜集 识图现在搜索结果还是不够理想,有很大的提升空间,下面介绍几个比较专业的图片搜索引擎. 1: https://images.google.com/ http://www.google.com/imghp (旧版:http://similar-images.googlelabs.com) 暂时的替代品:http://203.208.46.200/imghp Google实验室类似图片搜索:输入一个关键词后,例如"bird",返回的页面里面点击某个图片的下面的Si

ABBYY FineReader 12 能够识别哪些文档语言

ABBYY FineReader可以识别单语言文本和多语言文本(如使用两种及以上语言).对于多语言文本,需要选择多种识别语言. 要为文本指定一种 OCR 语言,请从主工具栏或任务窗口的文档语言下拉列表中选择下列选项之一: ● 自动选择 ABBYY FineReader 将自动从用户自定义的语言列表中选择恰当的语言.要修改此列表: 1. 选择更多语言… 2. 在 语言编辑器对话框中选择 从以下列表中自动选择文档语言选项. 3. 单击指定…按钮. 4. 在 语言对话框中选择所需语言. ● 一种语言或

红米Note4G TD/W版 专用TWRP2.8.1.5中文版(TTF字体,支持多国语言)

转载请注明出处和链接: http://blog.csdn.net/syhost/article/details/41482427 说说中文TWRP的简史: 一.老版本字模型中文TWRP 中文TWRP是本人在2012.10月在原英文TWRP的基础上首次修改编译成功, 后经suky大神完善字库生成脚本并产生新的字模存储提取方式, 进而形成两种汉化方式, 并且经本人修改都支持多国语言 兼容官方以及第三方多种字库格式, 2012.11月 中文TWRP的代码在本人及suky的git上公布,  这算首次全球

Python图片识别——人工智能篇

一.安装pytesseract和PIL PIL全称:Python Imaging Library,python图像处理库,这个库支持多种文件格式,并提供了强大的图像处理和图形处理能力. 由于PIL仅支持到Python 2.7,所以在PIL的基础上创建了Pillow库,支持最新Python 3.x. 1.pip命令安装 pip install pytesseract pip install Pillow 2.使用pycharm编辑器安装,如下操作步骤. 安装成功: 安装pytesseract时,同