想必很多人是見過的犁功,大名鼎鼎的Google Kaptcha掀宋,網(wǎng)上有許多此類驗證碼的變種,如圖1疗疟、圖2如失、圖3等等。根據(jù)參數(shù)不同限嫌,千變?nèi)f化靴庆,而驗證碼識別的首要困難是訓練集,大多數(shù)公司是不愿意在訓練上面花錢打碼的怒医,那么生成算法有了炉抒,是否可以生成無限的參數(shù),無限的訓練集呢稚叹,最后一舉攻破Kaptcha所有的變種焰薄,當然這是可以實現(xiàn)的,Kaptcha訓練集批量生成工具入录,筆者也只能幫你們到這里了蛤奥。
為了方便,在下封裝了Kaptcha僚稿,只要兩個參數(shù)凡桥,便可批量生成訓練集:
- 輸出路徑
- 輸出數(shù)目
java -jar kaptcha.jar 輸出路徑 輸出數(shù)目
如圖4所示:
結(jié)果如下:
是不是很方便呢,那么又如何配置其變化呢蚀同,這里祭出配置文件樣例:
captcha.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>Temporary Properties</comment>
<!-- 圖片邊框缅刽,合法值yes,no蠢络,默認值yes -->
<entry key="kaptcha.border">no</entry>
<!-- 邊框顏色衰猛,合法值rgb(and optional alpha)或者 white,black,blue,默認值black -->
<entry key="kaptcha.border.color">blue</entry>
<!-- 邊框厚度刹孔,合法值>0,默認值為1 -->
<entry key="kaptcha.border.thickness">2</entry>
<!-- 圖片寬度啡省,默認值200 -->
<entry key="kaptcha.image.width">200</entry>
<!-- 圖片高度,默認值50 -->
<entry key="kaptcha.image.height">50</entry>
<!-- 圖片實現(xiàn)類髓霞,默認值priv.kerlomz.kaptcha.impl.DefaultKaptcha -->
<entry key="kaptcha.producer.impl">priv.kerlomz.kaptcha.impl.DefaultKaptcha</entry>
<!-- 文本實現(xiàn)類,默認值priv.kerlomz.kaptcha.impl.DefaultTextCreator -->
<entry key="kaptcha.textproducer.impl">priv.kerlomz.kaptcha.text.impl.DefaultTextCreator</entry>
<!-- 文本集合卦睹,驗證碼值從此集合中獲取,默認值abcde2345678gfynmnpwx -->
<entry key="kaptcha.textproducer.char.string">abcde2345678gfynmnpwx</entry>
<!-- 驗證碼長度,默認值為5 -->
<entry key="kaptcha.textproducer.char.length">5</entry>
<!-- 字體,默認值Arial, Courier(如果使用中文驗證碼,則必須使用中文的字體方库,否則出現(xiàn)亂碼) -->
<entry key="kaptcha.textproducer.font.names">Arial</entry>
<!-- 字體大小结序,默認值為40px -->
<entry key="kaptcha.textproducer.font.size">40</entry>
<!-- 字體顏色,合法值: r,g,b 或者 white,black,blue纵潦,默認值black -->
<entry key="kaptcha.textproducer.font.color">black</entry>
<!-- 文字間隔徐鹤,默認值為2 -->
<entry key="kaptcha.textproducer.char.space">2</entry>
<!-- 干擾實現(xiàn)類垃环,默認值priv.kerlomz.kaptcha.impl.DefaultNoise -->
<entry key="kaptcha.noise.impl">priv.kerlomz.kaptcha.impl.DefaultNoise</entry>
<!-- 干擾 顏色,合法值: r,g,b 或者 white,black,blue返敬,默認值black -->
<entry key="kaptcha.noise.color">black</entry>
<!-- 圖片樣式:
水紋 priv.kerlomz.kaptcha.impl.WaterRipple
魚眼 priv.kerlomz.kaptcha.impl.FishEyeGimpy
陰影 priv.kerlomz.kaptcha.impl.ShadowGimpy, 默認值水紋
-->
<entry key="kaptcha.obscurificator.impl">priv.kerlomz.kaptcha.impl.WaterRipple</entry>
<!-- 背景實現(xiàn)類遂庄,默認值priv.kerlomz.kaptcha.impl.DefaultBackground -->
<entry key="kaptcha.background.impl">priv.kerlomz.kaptcha.impl.DefaultBackground</entry>
<!-- 背景顏色漸變,開始顏色救赐,默認值lightGray/192,193,193 -->
<entry key="kaptcha.background.clear.from">255,255,255</entry>
<!-- 背景顏色漸變涧团, 結(jié)束顏色,默認值white -->
<entry key="kaptcha.background.clear.to">white</entry>
<!-- 文字渲染器经磅,默認值priv.kerlomz.kaptcha.text.impl.DefaultWordRenderer -->
<entry key="kaptcha.word.impl">priv.kerlomz.kaptcha.text.impl.DefaultWordRenderer</entry>
</properties>
把配置文件置于同一目錄下即可
小工具希望能對大家有幫助,上傳到QQ群:857149419
對深度學習钮追、驗證碼識別预厌、爬蟲等感興趣的都歡迎進群扯淡
主要是獻給使用我 http://www.reibang.com/p/b1a5427db6e2 做訓練的朋友們的福利
也歡迎直接移步 https://github.com/kerlomz/captcha_trainer, 這是一個基于CNN的驗證碼識別訓練框架元媚,喜歡就順便點顆星哦轧叽。