基於Python使用SVM識別簡單的驗證字符串的完整代碼開源分享。python
由於目前有了更厲害的新技術來解決這類問題了,可是本文做爲初級入門方法,仍是具備必定的學習意義的,因此就將源碼和相關的素材開源出來。git
本文雖然已經不具有太強的實戰性和遷移性,可是主要但願可以是以一個有趣的應用點來讓對機器學習有興趣的同窗找到入門點。github
上面提到的 「更厲害的新技術」 是指 「CNN 卷積神經網絡」,這個工具基本上免去了本文介紹的繁雜的圖片預處理工做, 並且通用性更強,換一種驗證模式,基本上不須要修改任何代碼,就能夠訓練出想要的模型。 可是這部分入門門檻會稍微高一些,後續有機會,會逐漸開一個專題來說此類高級方法。ubuntu
總之,最後會有一個結論:傳統的字符驗證碼是徹底沒有防護自動化的能力了。網絡
輸入圖片:機器學習
輸出字符串:工具
6937學習
完整的識別的源碼項目:測試
https://github.com/zhengwh/captcha-svm
代碼有些醜,可是結合原理文檔,應該還算是比較清晰的。code
關於原理文檔請參考博客:
《字符型圖片驗證碼識別完整過程及Python實現》
http://www.cnblogs.com/beer/p/5672678.htm
效果:能夠對簡單的可分割的驗證碼達到99%以上的識別率。
由於數據包比較大,就不放上來了
demo-6937 以6937爲例子進行的圖像處理效果展現
cut_pic 把處理後的圖片切割成單位字符後,再進行分類標記的結果值
整個學習的過程,主體數據處理部分是一個不斷的把信息降維處理的過程。
以圖片 6987 爲例子:
若是有對相關技術有持續關注的興趣的同窗,歡迎加入QQ羣: 592109504
或者手機QQ掃碼加入: