找回密码
 加入
搜索
查看: 4729|回复: 6

[图形处理] ◆◆阿福的验证码识别中的CodeFont.txt文件是从哪来的?

[复制链接]
发表于 2011-9-13 11:09:08 | 显示全部楼层 |阅读模式
本帖最后由 sdwd_lhq 于 2011-9-13 11:10 编辑

阿福的验证码识别中的CodeFont.txt文件是从哪来的?如下:
$a_Image = myReadImageToArray($img, True, 1, 0xeeeeee)
$s_code_string = myArrarOCR(@ScriptDir & "\CodeFont.txt", $a_Image, 1, 4, 5, "", 0, 5, 0, 0)

程序全代码如下(参看lynfr8师兄的代码):
#include <IE.au3>
#include <Ocr.au3>
#Include <Clipboard.au3>
#Include <ScreenCapture.au3>

Dim $i=0
$oIE = _IECreate ("http://www.ys168.com/ht/login.aspx")
$sHTML = _IEBodyReadHTML ($oIE)
$array = StringRegExp($sHTML, '/ht/sjzx/ys_vf_img.aspx\?lx=htdl&sj=(.*?:\d{1,2}:\d{1,2})', 3)

$User = _IEGetObjByName($oIE,"dl1")
$User.value = "autoittest"

$PW = _IEGetObjByName($oIE,"dl2")
$PW.value = "autoittest"

$oImgs = _IEImgGetCollection ($oIE)
For $oImg In $oImgs
        $i+=1
        If $oImg.src="http://www.ys168.com/ht/sjzx/ys_vf_img.aspx?lx=htdl&sj="&$array[0] Then
            $oPic = $oIE.Document.body.createControlRange()
            $oPic.Add($oImg)
        $oPic.execCommand("Copy")
        $img = ClipGet()
         _ClipBoard_Open (0)
         Local $hMemory = _ClipBoard_GetDataEx ($CF_BITMAP) 
        _ClipBoard_Close ()
        FileDelete(@ScriptDir & "\ys168temp.bmp")
       _ScreenCapture_SaveImage (@ScriptDir & "\ys168temp.bmp", $hMemory)
    EndIf
Next

$a_Image = myReadImageToArray(@ScriptDir & "\ys168temp.bmp", False, 1, 0x777777)
$s_code_string = myArrarOCR(@ScriptDir&"\ys168CodeFont.txt", $a_Image, 1, 4, 8, "", 5, 1, 4, 5)

$Code = _IEGetObjByName($oIE,"dl3")
$Code.value = $s_code_string

$Login = _IEGetObjByName($oIE, "bu1")
$Login.click
 楼主| 发表于 2011-9-13 11:12:20 | 显示全部楼层
本帖最后由 sdwd_lhq 于 2011-9-13 15:23 编辑

不知那个颜色值是怎么设定的,知道的师兄不吝赐教。。。。
 楼主| 发表于 2011-9-13 14:14:36 | 显示全部楼层
本帖最后由 sdwd_lhq 于 2011-9-13 14:18 编辑

哈哈,似乎是明白了一点,
1、我先下载了20个验证码图片,然后按F1,加入这些图片,然后将每一张图片的文字手工录入进去。
2、然后按“打开图片”,选择一个图片,录入字数,上边距,下边距,字间距,字符宽度等像素信息,
3、然后按“建特征库”按钮。
但我陷入了一个循环,反复出现下面的“验证码学习”窗口,?????
这个按钮是不是能生成codefont.txt文件?
再就是色值代表什么的颜色值?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2011-9-13 15:33:20 | 显示全部楼层
这个 还没的搞过,学习下!
 楼主| 发表于 2011-9-13 15:33:37 | 显示全部楼层
似乎明白了一点,这种设字符宽度的识别是有局限性的,字符宽度不等宽,是不是就无法识别了呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2011-9-14 09:02:21 | 显示全部楼层
支持  一下,扫描挺好的!
 楼主| 发表于 2011-9-14 10:30:44 | 显示全部楼层
这种颜色单一,字符清晰的。我用Tesseract-OCR识别,识别率能够达到100%,同仁可以试试
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-5 08:12 , Processed in 0.078860 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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