Foxtable(狐表)用户栏目专家坐堂 → 【ocr识别】VB实现OCR文字识别,怎么进行转化为foxtable程序代码呢?


  共有8446人关注过本帖树形打印复制链接

主题:【ocr识别】VB实现OCR文字识别,怎么进行转化为foxtable程序代码呢?

帅哥哟,离线,有人找我吗?
李孝春
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
【ocr识别】VB实现OCR文字识别,怎么进行转化为foxtable程序代码呢?  发帖心情 Post By:2017/11/1 14:50:00 [只看该作者]


下面是网上文章及代码  怎么修改代码实现FOXTABLE实现识别呢?

VB实现OCR文字识别

原理: 利用微软OCR控件, 只需要不到10行代码就能够实现自已的OCR文字识别软件.

1. 添加控件,需要安装office2003, 没有安装office2003的可以从别人机子上拷贝相关文件,注册regsvr32.exe mdivwctl.dll,【如下图错误,怎么解决呢?】


此主题相关图片如下:12.png
按此在新窗口浏览图片


 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:mdivwctl.dll.rar


控件一般在这个目录下:C:\Program Files\Common Files\Microsoft Shared\MODI\11.0, 只需要相关的几个文件就可以了, 此文件夹全部文件大概在21M左右.

工程->部件->添加这个控件:Microsoft Office Document Imaging 11.0 Type Library【这个部分在FOXTABLE中该如何操作呢?】

2.在按钮的Click事件里:


代码1:

    Dim strLayoutInfo As String, strLPN As String

 

     '初始化并加载文档

    Set miDoc = CreateObject("MODI.Document")            '创建对象

    miDoc.Create "D:\未命名.jpg"                         '加载图片文件

 

    Screen.MousePointer = vbHourglass                    '设置光标忙

    '识别

    miDoc.Images(0).OCR miLANG_CHINESE_SIMPLIFIED, True, True '有用的就此一句,识别为中文简体

 

    Set modiLayout = miDoc.Images(0).Layout              '读出数据

    strLayoutInfo = _

        "Language: " & modiLayout.Language & vbCrLf & _

        "Number of characters: " & modiLayout.NumChars & vbCrLf & _

        "Number of fonts: " & modiLayout.NumFonts & vbCrLf & _

        "Number of words: " & modiLayout.NumWords & vbCrLf & _

        "Beginning of text: " & Left(modiLayout.Text, 50) & vbCrLf & _

        "First word of text: " & modiLayout.Words(0).Text

    MsgBox strLayoutInfo, vbInformation + vbOKOnly, "Layout Information"

    Set modiLayout = Nothing

    Set miDoc = Nothing

    Screen.MousePointer = vbDefault

 

代码二:

Option Explicit

'OCR的主要功能

Private Function OCRImageFile(ByVal strName As String) As Boolean

    Dim modiDocument As New MODI.Document

    Dim modiImages As New MODI.Images

    Dim modiImage As New MODI.Image

    Dim modiLayout As New MODI.Layout

    Dim ImageCount As Integer

    

    Dim i As Integer

    

    modiDocument.OCR miLANG_CHINESE_SIMPLIFIED, False, False

    Set modiImage = modiDocument.Images

 

    

    For i = 0 To ImageCount

        Set modiImage = modiImages.Item(i)

        Set modiLayout = modiImage.Layout

        Text1.Text = modiLayout.Text

    Next i

    

    modiDocument.Close False: Set modiDocument = Nothing

    

    If ImageCount > 0 Then

        OCRImageFile = True

    Else

        OCRImageFile = False

    End If

End Function



然后运行如下代码会报错:


此主题相关图片如下:22.png
按此在新窗口浏览图片

上述代码怎么能够分别修正使用在foxtable中呢?


[此贴子已经被作者于2017/11/1 16:07:37编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/1 15:26:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点甜)参考 http://www.cnblogs.c...  发帖心情 Post By:2017/11/1 15:34:00 [只看该作者]

如图的东西  在foxtable中如何操作啊?

图片点击可在新窗口打开查看此主题相关图片如下:22.png
图片点击可在新窗口打开查看
楼上的那调用并注册DLL也没有成功   

目前操作系统是window7 64位  安装的是office2007

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/1 15:37:00 [只看该作者]

参考代码

 

Dim doc = CreateObject("MODI.Document") 
doc.Create("d:\test.jpg")
doc.OCR(2052, True, True)
Dim layout = doc.images(0).Layout
msgbox(layout.text)


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/1 15:38:00 [只看该作者]

识别文字,现在基本都是调用api的,如

 

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=106768&authorid=0&page=0&star=2

 


 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点甜)参考代码 Dim doc = Create...  发帖心情 Post By:2017/11/1 15:49:00 [只看该作者]


现在第一步DLL就出错了 没有成功 求解啊  
楼上的参考代码也是需要先解决如下两个问题了才能测试吧!


我已经复制在foxtable安装目录下了的   且已经检查了对应的目录下有这个文件dll

图片点击可在新窗口打开查看此主题相关图片如下:11.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:22.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点甜)识别文字,现在基本都是调用api的,如...  发帖心情 Post By:2017/11/1 15:52:00 [只看该作者]

因为是在内部网操作,所以不可能调用网络上的api,还得麻烦有点甜老师多多指导啊
工程->部件->添加这个控件:Microsoft Office Document Imaging 11.0 Type Library【这个部分在FOXTABLE中该如何操作呢?】

图片点击可在新窗口打开查看此主题相关图片如下:33.png
图片点击可在新窗口打开查看
对应在FOXTABLE中如何操作呢?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/1 16:56:00 [只看该作者]

 安装好office,打好补丁。

 

 直接执行这个代码即可

 

Dim doc = CreateObject("MODI.Document") 
doc.Create("d:\test.jpg")
doc.OCR(2052, True, True)
Dim layout = doc.images(0).Layout
msgbox(layout.text)


 回到顶部
帅哥哟,离线,有人找我吗?
jyh7081
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:963 积分:8510 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2017/11/1 22:37:00 [只看该作者]

在试用版可以运行,在开发版报错:

 


图片点击可在新窗口打开查看此主题相关图片如下:image 7.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/1 22:53:00 [只看该作者]

 不应该。试用版,可以识别出文字了吗?重复运行有没问题?

 

 开发版的话,基本是一样的没有区别,我测试可以。


 回到顶部
总数 31 1 2 3 4 下一页