sdwd_lhq 发表于 2011-9-13 11:09:08

◆◆阿福的验证码识别中的CodeFont.txt文件是从哪来的?

本帖最后由 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&amp;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 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

sdwd_lhq 发表于 2011-9-13 11:12:20

本帖最后由 sdwd_lhq 于 2011-9-13 15:23 编辑

不知那个颜色值是怎么设定的,知道的师兄不吝赐教。。。。

sdwd_lhq 发表于 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

这个 还没的搞过,学习下!

sdwd_lhq 发表于 2011-9-13 15:33:37

似乎明白了一点,这种设字符宽度的识别是有局限性的,字符宽度不等宽,是不是就无法识别了呢?

weeks1 发表于 2011-9-14 09:02:21

支持一下,扫描挺好的!

sdwd_lhq 发表于 2011-9-14 10:30:44

这种颜色单一,字符清晰的。我用Tesseract-OCR识别,识别率能够达到100%,同仁可以试试
页: [1]
查看完整版本: ◆◆阿福的验证码识别中的CodeFont.txt文件是从哪来的?