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


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

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

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点甜)安装ms office,打好sp补丁,再测试...  发帖心情 Post By:2017/11/2 12:44:00 [只看该作者]

原来是要打上SP2补丁才能运行

但是效果为什么多行文字 却只有一行可以识别 呢  而不是全部被识别呢?

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


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


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

Dim doc = CreateObject("MODI.Document")
doc.Create("d:\test.jpg")
doc.OCR(2052, True, True)
For i As Integer = 0 To doc.Images.count - 1
    Dim layout = doc.images(i).Layout
    output.show(layout.text) 
Next i
doc.close
doc = Nothing
[此贴子已经被作者于2017/11/2 14:24:12编辑过]

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


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

有点甜老师 改成了下面的  效果已经实现
Dim doc = CreateObject("MODI.Document")
doc.Create(e.Form.Controls("TextBox1").value )
doc.OCR(2052, True, True)
For i As Integer = 0 To doc.Images.count - 1
    Dim layout = doc.images(i).Layout
        
    e.Form.Controls("TextBox4").value = layout.text
Next i
doc.close
doc = Nothing


[此贴子已经被作者于2017/11/2 15:26:06编辑过]

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


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

生成的文本怎样形成段落?现在是一个整段。

 


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

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


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

每次弹出什么?

 

Dim doc = CreateObject("MODI.Document")
doc.Create("d:\test.jpg")
doc.OCR(2052, True, True)
For i As Integer = 0 To doc.Images.count - 1
    Dim layout = doc.images(i).Layout
    msgbox(layout.text)
Next i
doc.close
doc = Nothing
 

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


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

21楼图片只弹出最后一行,24楼图片是一次性弹出全部文字。都没有分次弹出。

 

经测试,当行距比例过大时,识别的文字范围会出错。

比如,21楼的三行文字,当图片的上下空白加大时,行距所占比例会变小,就会全部识别出所有行文字,识别的正确率也会相应变化。

当文字个数少于10个时,也不会识别。

[此贴子已经被作者于2017/11/2 22:54:18编辑过]

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


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

 暂无测试环境,无法测试。

 

 25楼的代码也不能一个一个弹出?那就是不会分段读取的了。没办法。


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


加好友 发短信
等级:四尾狐 帖子:957 积分:8434 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2018/4/3 9:23:00 [只看该作者]

甜老师好!
22楼的代码,如何写入记事本并打开?
谢谢!

Dim doc = CreateObject("MODI.Document")
doc.Create("d:\test.jpg")
doc.OCR(2052, True, True)
For i As Integer = 0 To doc.Images.count - 1
    Dim layout = doc.images(i).Layout 
    output.show(layout.text)  
Next i
doc.close
doc = Nothing


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


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

以下是引用jyh7081在2018/4/3 9:23:00的发言:
甜老师好!
22楼的代码,如何写入记事本并打开?
谢谢!
 

 

参考代码

 

Dim s As String = "I Like Foxtable"
FileSys.WriteAllText("d:\test.txt", s, False, Encoding.Default)
Dim proc As new process
proc.file = "d:\test.txt"
proc.start


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


加好友 发短信
等级:四尾狐 帖子:957 积分:8434 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2018/4/14 22:02:00 [只看该作者]

老师,我把写入模式设置成追加,为什么每次运行都会新开一个相同文件名的记事本?能不能如果前一个记事本打开状态时时,直接写入后面的内容?

Dim s As String = "I Like Foxtable"
FileSys.WriteAllText("d:\test.txt", s, true, Encoding.Default)
Dim proc As new process
proc.file = "d:\test.txt"
proc.start

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