識別圖片里文字的方法,通常稱為OCR(Optical
10年積累的成都網(wǎng)站設(shè)計、網(wǎng)站制作經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先做網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有福綿免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
Character
Recognition,光學(xué)字符識別),需要利用非常復(fù)雜的模式識別算法才能實現(xiàn)。自己用VB開發(fā)OCR程序工作量太大。
可以考慮采用OCR插件,即在電腦上安裝OCR控件,然后在VB程序中調(diào)用該控件。如WPS,紫光、漢王的OCR系統(tǒng)都帶有可調(diào)用的控件,但都比較大,而且有使用限制。我曾經(jīng)用過一個免費(fèi)的91OCR控件,識別效果還馬馬虎虎可以。
首先用photoshop把那些圖片數(shù)字先依照0、1、2……順序存成文件
再用bitblt這個api函數(shù)先把數(shù)字驗證碼和QQ賬號之類的數(shù)字從圖片里挨著順序截取下來。
用api函數(shù)getPixel兩幅圖里同一坐標(biāo)的像素值,例如0對0,1對1……逐一檢測,若是保持80%一致則可以肯定是那個數(shù)字了。
這就要調(diào)用API函數(shù)了
給你代碼吧
記得給點分啊
Private
Const
KeysM
=
H8000
Private
Declare
Function
GetAsyncKeyState
Lib
"user32"
(ByVal
vKey
As
Long)
As
Integer
Private
Sub
TextBox1_KeyDown(ByVal
sender
As
Object,
ByVal
e
As
System.Windows.Forms.KeyEventArgs)
Handles
TextBox1.KeyDown
Me.Text
=
e.KeyValue
If
e.KeyValue
=
Keys.ShiftKey
And
GetAsyncKeyState(160)
And
KeysM
Then
MsgBox("你按的是左SHIFT")
ElseIf
e.KeyValue
=
Keys.ShiftKey
And
GetAsyncKeyState(161)
And
KeysM
Then
MsgBox("你按的是右SHIFT")
End
If
End
Sub
一般登陸網(wǎng)站時候首先要打開一個網(wǎng)頁對吧?
那首先要 GET 一個網(wǎng)址。GetResponse后,得到的流就是這個頁面的源碼。
源碼里肯定會包含這個驗證碼的提問段(可能是個圖片的網(wǎng)址,也可能是個 5+5=? 之類的字符串之類的),可以分析一下這段代碼出現(xiàn)的位置,讓程序自動尋找。找到這個圖片的網(wǎng)址,把這個圖片 GET 下來,然后,就是orc識別或你人工識別咯。。。