| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 445 人关注过本帖, 1 人收藏
标题:使用 Microsoft Office Document Imaging 2003 提供的 OCR 功能实现车牌识别 ...
只看楼主 加入收藏
sam_jiang
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:746
专家分:1114
注 册:2021-10-13
结帖率:98.21%
收藏(1)
已结贴  问题点数:20 回复次数:7 
使用 Microsoft Office Document Imaging 2003 提供的 OCR 功能实现车牌识别
网上发现一段代码,可以进行简单的图文识别,可以识别黑白的文字,彩色的好像不行。。。

我发现可以用来识别车牌,但是不完善。

奉上代码:
*!* ***********************************************************************
*!* 功能: 使用 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/2007 吧 !?' )
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 "C:\Program Files (x86)\Common Files\Microsoft Shared\MODI\12.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

*!* 前提是你电脑上得安装了Microsoft Office Document Imaging

这个implements关键词好像很厉害啊,vfp帮助里找不到这个关键词的说明,有谁知道可否出来详细说明一下?
感觉不用declare就可以使用dll里的函数,是不是这样理解啊?
搜索更多相关主题的帖子: Document 识别 Microsoft Office cFile 
2023-08-29 11:12
iswith
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:336
专家分:493
注 册:2013-5-14
收藏
得分:20 
你这代码可以使用?
2023-08-29 11:29
sam_jiang
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:746
专家分:1114
注 册:2021-10-13
收藏
得分:0 
回复 2楼 iswith
亲自验证,可以使用,昨天还特地去下载了Microsoft Office Document Imaging。。。
2023-08-29 11:32
iswith
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:336
专家分:493
注 册:2013-5-14
收藏
得分:0 
implements关键词逻辑就是把COM发布出来的Events的事件绑定到VFP类的方法,以方法回调事件,其实就是回调
2023-08-29 11:39
iswith
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:336
专家分:493
注 册:2013-5-14
收藏
得分:0 
但大多数回调都是传指针,所以MYFLL了有一个构造PRG函数指针,如何实现逻辑我也清楚的!但VFP9r.DLL就一个线程,这类回调说实话实际意义不大,就现在把VFP9r.dll改成多线,稳定性也不好!如果涉及到多线用c#简单又高效。但如果有涉及到VFP的函数构造类,也可以直接在C#调用VFP的COM DLL性能还不错。
2023-08-29 11:45
sam_jiang
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:746
专家分:1114
注 册:2021-10-13
收藏
得分:0 
记得vfp的对象浏览器可以查看ocx,dll的函数,参数列表的,我这vfp9最近好像看不了了,打开对象浏览器就要我安装什么东西。。。
2023-08-29 12:31
iswith
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:336
专家分:493
注 册:2013-5-14
收藏
得分:0 
是的!其实你可以使用VS 的对象浏览器来查看COM+这样容易些!VFP对象浏览器太弱了!
2023-08-29 12:50
iswith
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:336
专家分:493
注 册:2013-5-14
收藏
得分:0 
话说回来OCR识别不是很好!目前我看别人都是用OpenVC你研究这个,别研究OCR。
2023-08-29 12:51
快速回复:使用 Microsoft Office Document Imaging 2003 提供的 OCR 功能实现车 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029647 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved