在這裡我就以一名學習者的身份對原始碼做乙個解讀
這個專案使用卷積神經網路識別字元型驗證碼,其基於tensorflow
框架。它封裝了非常通用的校驗、訓練、驗證、識別和呼叫 api,極大地減低了識別字元型驗證碼花費的時間和精力。
首先,是主函式,這裡面實現了引數的讀取,我真的漲見識了,把東西放在配置檔案裡,真的太方便了,以前也想過,但是沒想到這麼方便,看大佬的專案,英語單詞也順便學了,嘻嘻!
?:在這裡我發現了json.load
與json.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濾波器是乙個正弦平面波和高斯核函式的乘...
驗證碼識別
驗證碼識別過程好比人大腦的乙個識別過程 首先,我們的眼睛接收,並將這張的資訊輸送給大腦 然後,我們的大腦接收到這個資訊以後,對這個資訊作出處理 最後,將中的有效資訊提取出來再將其和大腦中儲存的資訊進行對應對比,確定對比結果。模擬驗證碼識別,大腦接受的處理過程就相當於電腦對的預處理,大腦對進行對比和確...