驗證碼識別學習第一天 (驗證碼的生成)

2021-10-04 17:29:24 字數 2544 閱讀 2265

在這裡我就以一名學習者的身份對原始碼做乙個解讀

這個專案使用卷積神經網路識別字元型驗證碼,其基於tensorflow框架。它封裝了非常通用的校驗、訓練、驗證、識別和呼叫 api,極大地減低了識別字元型驗證碼花費的時間和精力。

首先,是主函式,這裡面實現了引數的讀取,我真的漲見識了,把東西放在配置檔案裡,真的太方便了,以前也想過,但是沒想到這麼方便,看大佬的專案,英語單詞也順便學了,嘻嘻!

?:在這裡我發現了json.loadjson.loads的區別

json.loads()是將json格式資料轉換為字典

json.load()則主要用來讀寫json檔案函式

def

main()

:with

open

('conf2/captcha_config.json'

,'r'

)as f:

config = json.load(f)

# 配置引數

root_dir = config[

"root_dir"

]# 儲存路徑

image_suffix = config[

"image_suffix"

]# 儲存字尾

characters = config[

"characters"

]# 上顯示的字符集 # characters = "0123456789abcdefghijklmnopqrstuvwxyz"

count = config[

"count"

]# 生成多少張樣本

char_count = config[

"char_count"

]# 上的字元數量

# 設定高度和寬度

width = config[

"width"

] height = config[

"height"

] gen_ima_by_batch(root_dir, image_suffix, characters, count, char_count, width, height)

接下來第二步是,生成驗證碼了,這裡面第一步使用os模組的os.path.exists判斷了資料夾是否存在,如果不存在則os.mkdirs來生成目錄

?:順便說下區別

mkdir()是建立子目錄。

mkdirs()是建立多級目錄。

這裡enumerate是什麼作用??暫時不清楚

然後這一部特別厲害,利用random特性,學會了

?:引數characters可以是乙個列表,元組或字串

characters =

'0123456789abcdefghijklmnopqrstuvwxyz'

for j in

range(4

):text += random.choice(characters)

print

(text)

os.path.join()函式:連線兩個或更多的路徑名元件

1.如果各元件名首字母不包含』/』,則函式會自動加上

2.如果有乙個元件是乙個絕對路徑,則在它之前的所有元件均會被捨棄

3.如果最後乙個元件為空,則生成的路徑以乙個』/』分隔符結尾

def

gen_ima_by_batch

(root_dir, image_suffix, characters, count, char_count, width, height)

:# 判斷資料夾是否存在,太棒了,進步每一天

ifnot os.path.exists(root_dir)

: os.makedirs(root_dir)

for index, i in

enumerate

(range

(count)):

text =

""for j in

range

(char_count)

: text += random.choice(characters)

timec =

str(time.time())

.replace(

".","")

p = os.path.join(root_dir,

"{}_{}.{}"

.format

(text, timec, image_suffix)

) gen_special_img(text, p, width, height)

print

("captcha image => {}"

.format

(index +1)

)

繼續加油!!!

驗證碼 簡單驗證碼識別

這裡的驗證碼是內容非常簡單的,結構非常清晰的 這裡的驗證碼是內容非常簡單的,結構非常清晰的 這裡的驗證碼是內容非常簡單的,結構非常清晰的 興之所至之所以說簡單,我覺得是這樣的 抽了五張驗證碼扔進ps,50 透明度,長這樣 只有數字為內容 每張圖的數字都在固定位置 沒有太大的干擾因素 數字字型,形態完...

驗證碼識別學習

0.在影象處理 模式識別以及計算機視覺等領域中,gabor 濾波器得到了廣泛的應用。gabor濾波器是乙個用於邊緣檢測的線性濾波器。gabor濾波器的頻率和方向表示接近人類視覺系統對於頻率和方向的表示,並且它們常備用於紋理表示和描述。在空域,乙個2維的gabor濾波器是乙個正弦平面波和高斯核函式的乘...

驗證碼識別

驗證碼識別過程好比人大腦的乙個識別過程 首先,我們的眼睛接收,並將這張的資訊輸送給大腦 然後,我們的大腦接收到這個資訊以後,對這個資訊作出處理 最後,將中的有效資訊提取出來再將其和大腦中儲存的資訊進行對應對比,確定對比結果。模擬驗證碼識別,大腦接受的處理過程就相當於電腦對的預處理,大腦對進行對比和確...