软件中包含OCR功能模块实现方法
来源:互联网 发布:窥探隐私 知乎 编辑:程序博客网 时间:2024/05/16 18:14
ocr的目的是提取图片中的信息,变为可操作的文本信息。
ocr就是不断地去匹配图片中的区域,与已知的字符图像进行比较,达到一个百分之多少的相似度,则认为这块区域的图片就是这个字符,直到整张图全部匹配过n次,我这么认为的,可能理解的简单了。
如何自己开发ocr
我找到了两种方法,
一种是大家比较常见的office的 Document Imaging 组件 ;
另一种就是 tw_ocr32.dll这个库;
第一种 office的 Document Imaging 组件
MFC实现OCR的识别,采用的是office2003的MODI类型库,平台VC6.0。借鉴了Code project上一篇文章的例子[喝小酒的网摘]http://blog.const.net.cn/a/3453.htm
地址 如下:http://www.codeproject.com/KB/recipes/OCRwithMODI.aspx
用VC6.0打开你在codeproject中下载的那个工程文件,然后在工程中Project->Add to project->Component and controls,打开Registered ActiveX Controls找到Microsoft Office Document Imaging Viewer Control 11.0,双击添加,会自动添加相关.h和.cpp文件,其中包括mdivwctl.h和mdivwctl.cpp,最后使用 bReadOCRByMODIAxctrl函数。
如果你是识别简体中文就将OCR函数的第一个参数设置为 miLANG_CHINESE_SIMPLIFIED,如果为英文就设置为miLANG_ENGLISH。这样在做OCR识别就正常了。
如
int miLANG_CHINESE_SIMPLIFIED = 2052;
IDocument *pDoc = new IDocument;
pDoc->CreateDispatch( _T("MODI.Document") );
pDoc->Create(GetAppPath() + _T("out.bmp"));
pDoc->OCR( miLANG_CHINESE_SIMPLIFIED, 0, 0 );
IImages images = pDoc->GetImages();
long num =images.GetCount();
for( int i = 0; i < num; i++ )
{
IImage image = images.GetItem(i);
ILayout layout = image.GetLayout();
strTemp.Append( layout.GetText());
}
pDoc->Close(0);
pDoc->ReleaseDispatch();
delete pDoc;
第二种 tw_ocr32.dll
清华同方的ocr库,非常的强大,中国达人的神作
首先需要找到tw_ocr32.dll,tw_ocr32.lib,tw_ocr32.h,这就需要自己去网上找下载了
找到后,就简单多了
把库和.h文件包含进去之后,一次调用
TW_Start函数 初始化
TW_RecogFile函数 识别
TW_End函数 结束
- 软件中包含OCR功能模块实现方法
- 在OCR文字识别软件中安装和启动 OCR文字识别软件 Hot Folder的方法
- 在Delphi中实现StringTokenizer功能模块
- OCR图文识别软件在MS Office中创建PDF文件的方法
- 软件功能模块说明
- phonemefeature中功能模块及 KNI 的编写方法
- stm32中引脚和一些功能模块的一般配置方法
- GNU中包含的软件
- 用OCR图文识别软件保存页面图像的方法
- 拆分OCR文字识别软件文档的方法
- OCR文字识别软件转换别的语言文档的方法
- 怎么用OCR文字识别软件识别包含非常规符号的文本
- Struts2 url中包含感叹号实现动态方法调用
- Struts2 url中包含感叹号实现动态方法调用
- struts2,登录功能模块实现
- Java语言实现简单FTP软件------>辅助功能模块FTP站点管理的实现(十二)
- 软件项目管理系统-功能模块
- Zookeeper的curator-recipes包含如下功能模块:
- SQL SERVER 中的Schema详解
- 欢迎使用CSDN-markdown编辑器
- [web service]axis2+eclipse+tomcat开发web service
- [web service]axis2免部署实现web service
- error LNK2005: _DllMain@12 already defined in MSVCRTD.lib
- 软件中包含OCR功能模块实现方法
- [转]C和C++混编,c调用C++,c++调用C
- 触摸屏实现虚拟键盘输入汉字
- NYOJ-353
- VC socket传输图片
- CFile和CStdioFile的文件读写使用方法
- 手动修改系统自带的屏幕键盘的大小 (OSK修改尺寸)
- OCR谷歌开源项目使用流程说明【原】
- C语言处理图片二值化程序代码[亲测能用]