搜索
查看: 62840|回复: 63

[扩展库] 验证码识别支持库(aspriseOCR for aardio)

    [复制链接]

12

主题

309

帖子

1800

积分

荣誉会员

Rank: 8Rank: 8

积分
1800
发表于 2011-6-9 20:41:02 | 显示全部楼层 |阅读模式

一般验证码准确率100%  使用范例:
import inet.http;
import aspriseOCR;

getImage =
function(url,file){
   
var http = inet.http();
   
var str = http.get(url)
    string.save(file, str)  
   
return file;
}

//识别网络验证码
var str = aspriseOCR.ocr(
    getImage(
"http://www.*****.com/Imgchk/validatecode.asp"
    ,
"/test.bmp")
)


io.open()   
io.print(
"识别验证码成功",str);

execute("pause") //按任意键继续
io.close();//关闭控制台

请在aardio安装目录下新建 \lib\aspriseOCR 目录,
将aspriseOCR的几个DLL文件复制到 \lib\aspriseOCR\.dll\ 目录下。
重新打开aardio开发环境,在标准库中找到aspriseOCR 右键新建默认库,将下面的源码复制到默认库中。

aspriseOCR支持库源码如下:  
  1. import fsys;
  2. namespace aspriseOCR;

  3. if( ! ..io.exist("~\lib\aspriseOCR\.dll\DevIL.dll",2) ){
  4.     ..fsys.createDir("~\lib\aspriseOCR\.dll")
  5.     ..string.save("~\lib\aspriseOCR\.dll\DevIL.dll", $"~\lib\aspriseOCR\.dll\DevIL.dll")
  6.     ..string.save("~\lib\aspriseOCR\.dll\ILU.dll", $"~\lib\aspriseOCR\.dll\ILU.dll")
  7. }

  8. var DevIL = ..raw.loadDll( "~\lib\aspriseOCR\.dll\DevIL.dll"  )
  9. var ILU = ..raw.loadDll( "~\lib\aspriseOCR\.dll\ILU.dll"  )
  10. var AspriseOCR = ..raw.loadDll( $"~\lib\aspriseOCR\.dll\AspriseOCR.dll"  )

  11. var OCR = AspriseOCR.api("OCR","string(string file,int imageType)","cdcel")
  12. var OCRBarCodes = AspriseOCR.api("OCRBarCodes","string(string file,int imageType)","cdcel")
  13. var OCRpart = AspriseOCR.api("OCRpart","string(string file,int imageType,int startX,int startY,int width,int height)","cdcel")
  14. var OCRpartBarCodes = AspriseOCR.api("OCRpartBarCodes","string(string file,int imageType,int startX,int startY,int width,int height)","cdcel")

  15. var imageType = {
  16.     ["jpg"]=1061;
  17.     ["jpeg"]=1061;
  18.     ["pxr"]=1085;
  19.     ["xpm"]=1086;
  20.     ["ico"]=1060;
  21.     ["pic"]=1065;
  22.     ["mdl"]=1073;
  23.     ["pcd"]=1063;
  24.     ["exif"]=1082;
  25.     ["cut"]=1057;
  26.     ["chead"]=1071;
  27.     ["dcx"]=1080;
  28.     ["lbm"]=1062;
  29.     ["tif"]=1070;
  30.     ["tiff"]=1070;
  31.     ["dds"]=1079;
  32.     ["raw"]=1072;
  33.     ["tga"]=1069;
  34.     ["jng"]=1077;
  35.     ["sgi"]=1068;
  36.     ["pnm"]=1067;
  37.     ["pbm"]=1067;
  38.     ["png"]=1066;
  39.     ["lif"]=1076;
  40.     ["pix"]=1084;
  41.     ["psp"]=1083;
  42.     ["doom"]=1058;
  43.     ["gif"]=1078;
  44.     ["psd"]=1081;
  45.     ["wal"]=1074;
  46.     ["pcx"]=1064;
  47.     ["bmp"]=1056;
  48.     ["*"]=-1
  49. }

  50. import inet.http;

  51. ocr = function(file,ext="*"){
  52.     ext = ..string.lower(ext)
  53.     file = ..io.fullpath(file)
  54.     return OCR(file,imageType[ext]);
  55. }

  56. ocrBarCodes = function(file,ext="*"){
  57.     ext = ..string.lower(ext)
  58.     file = ..io.fullpath(file)
  59.     return OCRBarCodes(file,imageType[ext]);
  60. }

  61. ocrPart = function(file,x=0,y=0,width=32,height=32,ext="*"){
  62.     ext = ..string.lower(ext)
  63.     file = ..io.fullpath(file)
  64.     return OCRpart(file,imageType[ext],x,y,width,height);
  65. }

  66. ocrPartBarCodes = function(file,x=0,y=0,width=32,height=32,ext="*"){
  67.     ext = ..string.lower(ext)
  68.     file = ..io.fullpath(file)
  69.     return OCRpartBarCodes(file,imageType[ext],x,y,width,height);
  70. }

  71. /**intellisense(aspriseOCR)
  72. ocr("__") = 识别图像文本,参数指定图像文件路径\n自动识别图像类型
  73. ocr("__","jpg") = 识别图像文本,参数指定图像文件路径\n参数指定图像类型
  74. ocrBarCodes("__") = 识别图像条码,参数指定图像文件路径\n自动识别图像类型
  75. ocrBarCodes("__","jpg") = 识别图像条码,参数指定图像文件路径\n参数指定图像类型
  76. ocrPart(.(文件路径,x坐标,y坐标,宽,高,图像类型) = 识别图像文本,图像类型使用后缀名指定(可选参数)
  77. ocrPartBarCodes(.(文件路径,x坐标,y坐标,宽,高,图像类型) = 识别图像条码,图像类型使用后缀名指定(可选参数)
  78. end intellisense**/
复制代码

评分

参与人数 2银币 +10 收起 理由
fjxhkj + 5 赞一个!
常年最低调 + 5 很给力!

查看全部评分

回复

使用道具 举报

21

主题

205

帖子

1293

积分

培训班

积分
1293
发表于 2011-6-9 20:55:00 | 显示全部楼层

强大,先下载看下

强大,先下载看下
aardio - 没有做不到的,只有想不到的!
回复

使用道具 举报

10

主题

108

帖子

588

积分

三级会员

Rank: 4

积分
588
发表于 2011-6-9 21:02:27 | 显示全部楼层

真不错呐,占个位先

真不错呐,占个位先
enjoy my life !
回复

使用道具 举报

20

主题

154

帖子

926

积分

三级会员

Rank: 4

积分
926
发表于 2011-6-9 21:03:26 | 显示全部楼层

厉害,下载试用

厉害,下载试用
回复

使用道具 举报

55

主题

471

帖子

3803

积分

荣誉会员

Rank: 8Rank: 8

积分
3803
发表于 2011-6-9 21:04:43 | 显示全部楼层

太强大了这个

太强大了这个
回复

使用道具 举报

37

主题

184

帖子

1240

积分

四级会员

Rank: 6Rank: 6

积分
1240
发表于 2011-6-9 21:04:59 | 显示全部楼层

找个时间试试

找个时间试试
回复

使用道具 举报

0

主题

1

帖子

20

积分

新手入门

Rank: 1

积分
20
发表于 2011-6-9 21:08:24 | 显示全部楼层

这个太牛了.看老大在微博上推荐,得好好看下怎么用.

这个太牛了.看老大在微博上推荐,得好好看下怎么用.
回复

使用道具 举报

23

主题

411

帖子

2240

积分

五级会员

Rank: 8Rank: 8

积分
2240
发表于 2011-6-9 21:26:09 | 显示全部楼层

感谢分享,对于不规则的和带有干扰的,好像没有参数,比如aardio论坛的验证码就没有识别出来。

感谢分享,对于不规则的和带有干扰的,好像没有参数,比如aardio论坛的验证码就没有识别出来。
回复

使用道具 举报

75

主题

848

帖子

5057

积分

六级会员

The only one

Rank: 9Rank: 9Rank: 9

积分
5057
发表于 2011-6-9 21:30:31 | 显示全部楼层

学习思路,支持

学习思路,支持
小时候,幸福是一件东西,拥有就是幸福; 长大了,幸福是一个目标,达到就是幸福; 成熟后,发现幸福原来是一种心态,领悟就是幸福.
回复

使用道具 举报

20

主题

154

帖子

926

积分

三级会员

Rank: 4

积分
926
发表于 2011-6-9 21:32:23 | 显示全部楼层

[quote][size=2][color=#999999]look 发表于 2011-6-9 21:30[/color] [url=forum.php?mod

look 发表于 2011-6-9 21:30
学习思路,支持

调用的dll,怎么学思路

评分

参与人数 1银币 +2 收起 理由
夜云 + 2 赞一个!

查看全部评分

回复

使用道具 举报

6

主题

167

帖子

912

积分

荣誉会员

爱生活,爱拉芳。

Rank: 8Rank: 8

积分
912
发表于 2011-6-9 21:44:27 | 显示全部楼层

重量级,老大直接顶置

重量级,老大直接顶置
专注、深入。
回复

使用道具 举报

65

主题

952

帖子

5031

积分

荣誉会员

Rank: 8Rank: 8

积分
5031
发表于 2011-6-9 21:54:31 | 显示全部楼层

这个是真牛逼..

这个是真牛逼..
aaa
回复

使用道具 举报

51

主题

265

帖子

1548

积分

四级会员

Rank: 6Rank: 6

积分
1548
发表于 2011-6-9 22:08:07 | 显示全部楼层

强大,先下后看。

强大,先下后看。
回复

使用道具 举报

12

主题

309

帖子

1800

积分

荣誉会员

Rank: 8Rank: 8

积分
1800
 楼主| 发表于 2011-6-9 22:18:54 | 显示全部楼层

[quote][size=2][color=#999999]xudhrh 发表于 2011-6-9 21:32[/color] [url=forum.php?m

xudhrh 发表于 2011-6-9 21:32
调用的dll,怎么学思路

思路就是不要再造轮子,开源的组件多的是。

点评

反对: 5.0
反对: 5
  发表于 2011-6-10 13:29
回复

使用道具 举报

13

主题

67

帖子

537

积分

三级会员

Rank: 4

积分
537
发表于 2011-6-10 00:27:45 | 显示全部楼层

可以做扫描图片文字的就好了。{:soso_e113:}

可以做扫描图片文字的就好了。{:soso_e113:}

点评

应该不行吧  发表于 2011-6-10 13:33
你可以试一试  发表于 2011-6-10 00:30
回复

使用道具 举报

15

主题

48

帖子

292

积分

荣誉会员

Rank: 8Rank: 8

积分
292
发表于 2011-6-10 00:47:03 | 显示全部楼层

试了一下淘宝子站的,一条只能识别2个字母;

试了一下淘宝子站的,一条只能识别2个字母;
回复

使用道具 举报

2

主题

44

帖子

349

积分

二级会员

Rank: 3Rank: 3

积分
349
发表于 2011-6-13 12:32:10 | 显示全部楼层

太强悍了。哈哈!

太强悍了。哈哈!
回复

使用道具 举报

0

主题

14

帖子

84

积分

一级会员

Rank: 2

积分
84
发表于 2011-6-13 15:44:23 | 显示全部楼层

真是一个好的例子,大家可以举一反三嘛,谢谢您的分享了!!

真是一个好的例子,大家可以举一反三嘛,谢谢您的分享了!!
回复

使用道具 举报

1

主题

16

帖子

357

积分

荣誉会员

Rank: 8Rank: 8

积分
357
发表于 2011-6-17 23:39:24 | 显示全部楼层

谁研究过Tesseract OCR ?有木有详细点的资料?

谁研究过Tesseract OCR ?有木有详细点的资料?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2020-2-17 05:58 , Processed in 0.093750 second(s), 30 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表