使用modi方案实现中文ocr识别

本文详细介绍如何在MFC工程中集成微软OCR图文识别模块,包括添加组件、手动复制文件及初始化步骤,并给出完整的OCR识别代码示例。

前提:

创建MFC工程

在工程中添加微软的OCR处理模块,具体流程如下:

1)打开project 

2)选择add to project

3)选择components and controls

4)选择Registered ActiveX Controls

5)找到Microsoft Office Document Imaging Viewer Control 11.0,双击添加

这个时候你的fileview框中应该出现下图:

使用modi方案实现中文ocr识别 - 柠檬加冰 - 柠檬加冰的博客
 

其中mdivwctl.cpp.h文件经常无法加入到项目中,需要你手动复制黏贴到里面,没有的可以网上下载一下。

BOOL COCRForMFCApp::InitInstance()中需要对co库进行初始化,如果不初始化,程序无法执行会包内存异常,
      AfxEnableControlContainer();

    ::CoInitialize(0); 

通过以下代码实现ocr识别,具体见代码注释

void COCRForMFCDlg::OnButton1() 

{

// TODO: Add your control notification handler code here

  IDocument *pDoc = new IDocument;

  pDoc->CreateDispatch("MODI.Document");//获取注册表中的文件句柄

  pDoc->Create("0001.tif");//根据图片创建一个图片文件

  pDoc->OCR( 2052, 0, 0 );//对图片进行ocr处理,第一个参数是选择处理语言,后两个参数直接赋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();//将图片中的文字信息获取

    layout.GetText();//显示文字信息,该信息可以转换成字符串形式

  }

  pDoc->Close(0);//关闭

  pDoc->ReleaseDispatch();//释放

  delete pDoc;//删除

} 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值