您的位置:首页 > 其它

简单的 OCR 识别程序[VFP源码]

2009-11-05 14:56 525 查看
一段简单的 OCR 识别程序,只示例了最简单的用法。如果对此有兴趣,可以到微软的 MSDN 中搜索一下关于 Microsoft office Document Imaging 2003 Object 的内容,

条件:
1. 安装了 Office 2003(缺省安装即可)。
2. 自己截一副图。现在就按 Print Screen 键并粘贴到 Windows 自带的画图中,然后保存。

运行下面的代码,你看到什么了!?

*!* ***********************************************************************
*!* 功能: 使用 Microsoft Office Document Imaging 2003 提供的 OCR 功能
*!* 实现简单的 OCR 识别。
*!* 作者: dkfdtf - 2007.07.01
*!* ***********************************************************************
LOCAL oMiDoc, cFile

TRY
oMiDoc = Createobject('MODI.Document')
CATCH
oMiDoc = NULL
ENDTRY
IF ISNULL( oMiDoc )
MESSAGEBOX( '没有安装 Office 2003 吧 !?' )
ELSE
oMyProg = NEWOBJECT( 'MyProg' ) && 创建自己的 OCR 识别进度显示
EVENTHANDLER( oMiDoc, oMyProg ) && 绑定到 oMiDoc 这个 COM 对象上

m.cFile = GETFILE( 'bmp;gif;jpg;png;tif')
IF !EMPTY( m.cFile )
oMidoc.Create( m.cFile )
ShowStatus(0)
oMidoc.OCR( 2052 ) && 按简体中文来识别
WAIT CLEAR
CLEAR
? oMiDoc.Images(0).Layout.text
ENDIF
oMiDoc.Close()
RELEASE oMiDoc
ENDIF

FUNCTION ShowStatus( tnVal )
WAIT WINDOW AT SROWS()/2, SCOLS()/2-20 ;
NOWAIT ' 正在识别, 已完成 ' + TRANSFORM( m.tnVal ) + '% '
ENDFUNC

*!* COM 事件接口实现
DEFINE CLASS MyProg AS Session OLEPUBLIC
*!* IMPLEMENTS _IDocumentEvents IN "c:/program files/common files/microsoft shared/modi/11.0/mdivwctl.dll"
IMPLEMENTS _IDocumentEvents IN "mdivwctl.dll"

PROCEDURE _IDocumentEvents_OnOCRProgress( Progress AS Integer, Cancel AS LOGICAL @ ) AS VOID ;
HELPSTRING "method OnOCRProgress"
ShowStatus( Progress )
ENDPROC
ENDDEFINE
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: