国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

windows下簡單驗證碼識別——完美驗證碼識別系統

shleyZ / 1716人閱讀

摘要:可惜收費的,今天要介紹的完美驗證碼識別系統是類似的免費產品。調用函數相當簡單的,對比復雜的參數,這個識別是相當的快捷。

此文已由作者徐迪授權網易云社區發布。

歡迎訪問網易云社區,了解更多網易技術產品運營經驗。

講到驗證碼識別,大家第一個可能想到tesseract。誠然,對于OCR而言,tesseract確實很強大,自帶的字模能識別絕大多數規整的中英文。但是驗證碼畢竟不是OCR。對于現在簡單的驗證碼,其干擾都很難規整的去完,或者說去干擾也是苦差事。你很難講干擾去完后去做OCR,對于低成本的OCR識別更是這樣。對于固定的驗證碼,針對性的訓練庫反而更有效,因為對于單一的驗證碼,其生成規則相對簡單,用特定規格做字模識別率95%以上應該不難。

說到底還是需要一個簡單的識別器,訓練器。某次世紀識別系統是國內灰產碼農用的最多的吧。可惜收費的,今天要介紹的完美驗證碼識別系統是類似的免費產品。驗證碼識別系統其實就是兩部分組成,字模制作系統包括預處理的配置,和單字符字模制作以及生成字模打包文件,識別系統就是用字模打包結果去識別驗證碼,就是一個設置參數的函數,然后調用設別函數拿到結果。

軟件內容如下:

WmCode.dll是主要的識別庫,主程序負責字模生成,其中包括了眾多圖像學的算法,如下圖,簡要的介紹下常見的方法。

1.色彩通道噪點處理

在清除背景和保留前景的tab中有保留和去除指定顏色的操作(包括HSV RGB 色彩域),以及指定色彩的大小過濾。這些操作主要針對色彩較為有限的彩色小噪點,一般這種驗證碼噪聲還是比較多的。通過這2種方式的結合,基本可以去掉大部分的此類噪點。

2.濾波類

主要針對灰度圖處理,主要處理局部有灰度差異的噪聲。很多驗證碼在局部制造一些高對比度的噪聲,濾波操作對此類就有較好效果。另外的用途就是邊緣提取,方便后期對干擾線的處理。

3.二值化

后邊幾類如形態學處理類,黑白圖處理,干擾線處理,都是基于二值化后的圖像,所以后邊要先對圖像二值化。軟件把常見的閾值取值算法都放進去,具體算法這里就不講了。

4.形態學處理

圖像濾鏡tab下包括了主流的形態學算法,開閉操作,輪廓骨架等。主要處理小噪點,以及取輪廓后方便后期去干擾線。

5.干擾線處理

最后的tab中包含對干擾線的檢測去除檢查去除算法

通過多個處理算法完成預處理,點擊開始編輯圖像,進入下一步,選擇分割方式,識別方式和制作字模。

雖然有提供一些常見的分割方式,但對于大多遇到的非規則的驗證碼,分割效果確實不是很好,選擇手動分割就不要管左邊的配置了。識別模式首選整體識別,其他各種在實際識別中也不是很好。

下邊主講字模的制作。在工具區最左邊的按鈕,手動裁剪單個要處理的字,選擇后雙擊,界面就變成單個字符處理。

在信息區輸入要 訓練結果,就會添加字模。操作應該算很簡單。不斷的訓練,直到識別率到達滿意為止。返回上個界面,點擊識別庫,識別庫生成,填寫密碼(調用函數用),就會把庫生成在項目目錄下。識別的過程,其實在軟件下給了函數的簡單說明,以及各語言的樣例,以python為例,看下大概的過程:

coding=gbk#第一行注釋不能省,指定編碼聲明以支持中文#本代碼文件在32位的python 3.4.3版測試通過import urllibimport timeimport stringimport ctypesfrom ctypes import *

dll = ctypes.windll.LoadLibrary("WmCode.dll")#如果dll不在當前目錄,那么需要指定全路徑if(dll.UseUnicodeString(1,1)): #這個函數用來向DLL說明傳入的文本使用unicode格式

    print("SetInUnicode Success:")#UseUnicodeString調用一次即可,無需重復調用else:
    print("etInUnicode Fail!")#注意縮進格式if(dll.LoadWmFromFile("D:網易論壇.dat","163")):#使用絕對路徑
    print("Loaddat Success:")#LoadWmFromFile調用一次即可,無需重復調用
    Str = create_string_buffer(20)#創建文本緩沖區
    if(dll.GetImageFromFile("D:wylt.JPG",Str)):#使用絕對路徑
            #如果驗證碼圖像不在當前目錄,那么需要指定全路徑
            print("GetVcode Success:",Str.raw.decode("gbk"))                #返回的文本自行處理口口口問題
    else:
            print("GetVcode Fail!")                

else:

    print("Loaddat Fail!")#注意縮進格式

所有的函數封裝在WmCode.dll中,導出的了幾個基本函數。第一個指定使用unicode,和語言互調用有關。LoadWmFromFile 函數加載庫文件,就是我們用主程序訓練的結果,第二個參數是導出時填寫的密碼,GetImageFromFile 方法直接對本地文件進行識別,第一個參數是圖片地址,第二個是輸出的結果。調用函數相當簡單的,對比tesseract復雜的參數,這個識別是相當的快捷。在力求快速生成識別代碼的情況下,用這個庫確實非常方便。

網易云易盾提供新一代網站驗證碼,包括智能驗證碼、滑動驗證碼等形式,驗證碼接口穩定性 99.9%,感知威脅可智能切換驗證難度,告別繁瑣驗證,保護業務安全,點擊可免費試用。

網易云免費體驗館,0成本體驗20+款云產品!

更多網易技術、產品、運營經驗分享請點擊。

文章來源: 網易云社區

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/25250.html

相關文章

  • 如何識別圖片驗證

    摘要:圖片驗證碼是目前最常用的一種。神經網絡以上驗證碼識別都依賴于字符切分,切分的好壞幾乎直接決定識別的準確程度。目前驗證碼識別最先進的是谷歌在識別街景圖像中門牌號碼中使用的一套的算法。 全自動區分計算機和人類的圖靈測試(Completely Automated Public Turing test to tell Computers and Humans Apart,簡稱CAPTCHA),...

    y1chuan 評論0 收藏0
  • node識別驗證

    摘要:驗證碼的識別成功率跟圖片質量關系密切,一般拿到后的驗證碼都得經過灰度化,二值化,去噪,利用就可以很方便的做到。 了解驗證碼 什么是驗證碼? 所謂驗證碼,就是將一串隨機產生的數字或符號,生成一幅圖片,圖片里加上一些干擾象素(防止OCR),由用戶肉眼識別其中的驗證碼信息,輸入表單提交網站驗證,驗證成功后才能使用某項功能,通俗說就是一種區分用戶是計算機和人的公共全自動程序 驗證碼的作用 可以...

    levy9527 評論0 收藏0
  • 爬蟲攻防實踐

    摘要:之前在學校曾經用過的方法做過一些爬蟲腳本來玩,從正式轉前端之后,出于興趣,我對爬蟲和反爬蟲又做了一些了解,并且做了一些爬蟲攻防的實踐。爬蟲腳本通常會很頻繁的進行網絡請求,比如要爬取豆瓣排行榜的電影,就會連續發送個網絡請求。 之前在學校曾經用過request+xpath的方法做過一些爬蟲腳本來玩,從ios正式轉前端之后,出于興趣,我對爬蟲和反爬蟲又做了一些了解,并且做了一些爬蟲攻防的實踐...

    wanglu1209 評論0 收藏0
  • 爬蟲攻防實踐

    摘要:之前在學校曾經用過的方法做過一些爬蟲腳本來玩,從正式轉前端之后,出于興趣,我對爬蟲和反爬蟲又做了一些了解,并且做了一些爬蟲攻防的實踐。爬蟲腳本通常會很頻繁的進行網絡請求,比如要爬取豆瓣排行榜的電影,就會連續發送個網絡請求。 之前在學校曾經用過request+xpath的方法做過一些爬蟲腳本來玩,從ios正式轉前端之后,出于興趣,我對爬蟲和反爬蟲又做了一些了解,并且做了一些爬蟲攻防的實踐...

    xiangzhihong 評論0 收藏0
  • 安全開發筆記

    摘要:登錄注冊安全風險登錄注冊的風險點主要有四個暴力破解撞庫遍歷注冊用戶批量注冊。引入了驗證碼機制同樣引入了額外的安全風險,比如短信驗證碼的短信炸彈風險圖形驗證碼的可繞過可識別等。 概述 很多技術研發不了解安全,也不重視安全,只有在自己的服務器被黑掉、被掛馬、被脫褲才想起關注安全,但是這個時候,技術架構已經成型、代碼已經在線上穩定運行,再亡羊補牢,改代碼、改策略,往往成本巨大、確收效很低。所...

    Cruise_Chan 評論0 收藏0

發表評論

0條評論

shleyZ

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<