亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

詳解Python驗證碼識別

2020-01-04 17:48:39
字體:
來源:轉載
供稿:網友
這幾天在寫一個程序的時候需要識別驗證碼,因為程序是Python寫的自然打算用Python進行驗證碼的識別。下面把實現思路分享在VEVB武林網平臺,感興趣的朋友可以參考下
 

以前寫過一個刷校內網的人氣的工具,Java的(以后再也不行Java程序了),里面用到了驗證碼識別,那段代碼不是我自己寫的:-) 校內的驗證是完全單色沒有任何干撓的驗證碼,識別起來比較容易,不過從那段代碼中可以看到基本的驗證碼識別方式。這幾天在寫一個程序的時候需要識別驗證碼,因為程序是Python寫的自然打算用Python進行驗證碼的識別。

以前沒用Python處理過圖像,不太了解PIL(Python Image Library)的用法,這幾天看了看PIL,發現它太強大了,簡直和ImageMagic,PS可以相比了。(這里有PIL不錯的文檔)

由于上面的驗證碼是24位的jpeg圖像,并且包含了噪點,所以我們要做的就是去噪和去色,我拿PS找了張驗證碼試了試,使用PS濾鏡中的去噪效果還行, 但是沒有在PIL找到去噪的函數,后來發現中值過濾后可以去掉大部分的噪點,而且PIL里有現成的函數,接下來我試著直接把圖像轉換為單色,結果發現還是 會有不過的噪點留了下來,因為中值過濾時把不少噪點淡化了,但轉換為音色時這些噪點又被強化顯示了,于是在中值過濾后對圖像亮度進行加強處理,然后再轉換 為單色,這樣驗證碼圖片就變得比較容易識別了:

上面這些處理使用Python才幾行:

im = Image.open(image_name)im = im.filter(ImageFilter.MedianFilter())enhancer = ImageEnhance.Contrast(im)im = enhancer.enhance(2)im = im.convert('1')im.show()

接下來就是提取這些數字的字模,使用shell腳本下載100幅圖片,抽出三張圖片獲取字模:

#!/usr/bin/env python#encoding=utf-8import Image,ImageEnhance,ImageFilterimport sysimage_name = "./images/81.jpeg"im = Image.open(image_name)im = im.filter(ImageFilter.MedianFilter())enhancer = ImageEnhance.Contrast(im)im = enhancer.enhance(2)im = im.convert('1')#im.show()#all by pixels = 12 #start postion of first numberw = 10 #width of each numberh = 15 #end postion from topt = 2 #start postion of topim_new = []#split four numbers in the picturefor i in range(4):im1 = im.crop((s+w*i+i*2,t,s+w*(i+1)+i*2,h))im_new.append(im1)f = file("data.txt","a")for k in range(4):l = []#im_new[k].show()for i in range(13):for j in range(10):if (im_new[k].getpixel((j,i)) == 255):l.append(0)else:l.append(1)f.write("l=[")n = 0for i in l:if (n%10==0):f.write("/n")f.write(str(i)+",")n+=1f.write("]/n")

把字模保存為list,用于接下來的匹配;

提取完字模后剩下來的就是對需要處理的圖片進行與數據庫中的字模進行匹配了,基本的思路就是看相應點的重合率,但是由于噪點的影響在對(6,8) (8,3)(5,9)的匹配時容易出錯,俺自己針對已有的100幅圖片數據采集進行分析,采用了雙向匹配(圖片與字模分別作為基點),做了半天的測試終于 可以實現100%的識別率。

#!/usr/bin/env python#encoding=utf-8import Image,ImageEnhance,ImageFilterimport DataDEBUG = Falsedef d_print(*msg):global DEBUGif DEBUG:for i in msg:print i,printelse:passdef Get_Num(l=[]):min1 = []min2 = []for n in Data.N:count1=count2=count3=count4=0if (len(l) != len(n)):print "Wrong pic"exit()for i in range(len(l)):if (l[i] == 1):count1+=1if (n[i] == 1):count2+=1for i in range(len(l)):if (n[i] == 1):count3+=1if (l[i] == 1):count4+=1d_print(count1,count2,count3,count4)min1.append(count1-count2)min2.append(count3-count4)d_print(min1,"/n",min2)for i in range(10):if (min1[i] <= 2 or min2[i] <= 2):if ((abs(min1[i] - min2[i])) <10):return ifor i in range(10): if (min1[i] <= 4 or min2[i] <= 4):if (abs(min1[i] - min2[i]) <= 2):return ifor i in range(10):flag = Falseif (min1[i] <= 3 or min2[i] <= 3):for j in range(10):if (j != i and (min1[j] <5 or min2[j] <5)):flag = Trueelse:passif (not flag):return ifor i in range(10): if (min1[i] <= 5 or min2[i] <= 5):if (abs(min1[i] - min2[i]) <= 10):return ifor i in range(10):if (min1[i] <= 10 or min2[i] <= 10):if (abs(min1[i] - min2[i]) <= 3):return i#end of function Get_Numdef Pic_Reg(image_name=None):im = Image.open(image_name)im = im.filter(ImageFilter.MedianFilter())enhancer = ImageEnhance.Contrast(im)im = enhancer.enhance(2)im = im.convert('1')im.show()#all by pixels = 12 #start postion of first numberw = 10 #width of each numberh = 15 #end postion from topt = 2 #start postion of topim_new = []#split four numbers in the picturefor i in range(4):im1 = im.crop((s+w*i+i*2,t,s+w*(i+1)+i*2,h))im_new.append(im1)s = ""for k in range(4):l = []#im_new[k].show()for i in range(13):for j in range(10):if (im_new[k].getpixel((j,i)) == 255):l.append(0)else:l.append(1)s+=str(Get_Num(l))return sprint Pic_Reg("./images/22.jpeg")

這里再提一下驗證碼識別的基本方法:截圖,二值化、中值濾波去噪、分割、緊縮重排(讓高矮統一)、字庫特征匹配識別。
這里只是針對一般的驗證碼,高級驗證碼的識別這里有篇不錯的文章,太復雜的話涉及的東西就多了,那俺就沒興趣了,人工智能(好恐怖),俺只喜歡簡單的東西。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产丝袜精品第一页| 成人免费看黄网站| 国产精品久久久久久超碰| 俺也去精品视频在线观看| 亚洲一级黄色av| 在线视频免费一区二区| 午夜精品久久久久久久99热浪潮| 中文字幕免费国产精品| 欧美做受高潮电影o| 国产日韩一区在线| 久久久精品美女| 91av国产在线| 国产福利精品在线| 国产亚洲欧美视频| 日本一区二区在线播放| 亚洲日本成人女熟在线观看| 日韩av一区在线观看| 国产精品久久电影观看| 最近更新的2019中文字幕| 久久久久久久久久婷婷| 亚洲欧美一区二区三区在线| 亚洲欧美中文字幕在线一区| 国产亚洲福利一区| 国产成人av网址| 久久综合亚洲社区| 在线看欧美日韩| 激情懂色av一区av二区av| 精品一区电影国产| 91国产视频在线| 欧美xxxx18国产| 国产精品视频在线观看| 国产精品免费看久久久香蕉| 国产精品h片在线播放| 国产精品免费视频久久久| 57pao成人国产永久免费| 亚洲性生活视频在线观看| 国产精品久久久久久久久久久久久| 午夜精品在线视频| 国产精品免费观看在线| 91精品在线国产| 91精品国产自产在线观看永久| 亚洲色图狂野欧美| 中文字幕亚洲欧美在线| 91久热免费在线视频| 欧美人与性动交| 久久久999精品| 91国内揄拍国内精品对白| 久久久久久久久久亚洲| 国产欧美日韩精品丝袜高跟鞋| 久久理论片午夜琪琪电影网| 国产欧美精品一区二区| 3344国产精品免费看| 日av在线播放中文不卡| 国产精品视频白浆免费视频| 日本最新高清不卡中文字幕| 国产精品美女久久久久av超清| 国产精品直播网红| 91精品国产高清久久久久久| 国产精品黄色av| 国产精品爽爽ⅴa在线观看| 亚洲精品720p| 国产精品免费小视频| 日韩成人在线播放| 色偷偷偷亚洲综合网另类| 九九热这里只有精品6| 91精品综合视频| 91色在线视频| 激情成人在线视频| 日韩欧美国产网站| 久热在线中文字幕色999舞| 成人激情视频小说免费下载| 91沈先生在线观看| 欧美黑人xxxⅹ高潮交| 国产精品www网站| 久久久综合av| 亚洲电影免费观看高清完整版| 亚洲精品欧美日韩| 国产精品免费电影| 精品国产欧美一区二区五十路| 亚洲国产精品免费| 国产视频在线一区二区| 日韩国产一区三区| 国产精品毛片a∨一区二区三区|国| 性色av一区二区三区红粉影视| 国外成人在线播放| 亚洲欧美日韩一区二区三区在线| 久久久久久久国产精品| 午夜精品久久久久久久99热浪潮| 欧美一区在线直播| 欧美国产精品日韩| 亚洲黄页网在线观看| 久久九九全国免费精品观看| 26uuu另类亚洲欧美日本老年| 国产成人精品优优av| 国产精品美女久久久久久免费| 国产狼人综合免费视频| 亚洲午夜小视频| 国产精品入口日韩视频大尺度| 国产精品爽爽爽| 国产精品海角社区在线观看| 久久网福利资源网站| 亚洲毛片在线观看| 亚洲人线精品午夜| 亚洲一区二区中文字幕| 成人www视频在线观看| 日韩成人激情影院| 国产精品爱啪在线线免费观看| 中文字幕精品视频| 欧美成人国产va精品日本一级| 国外色69视频在线观看| 亚洲国产成人在线播放| 亚洲男人天堂2019| 一区二区三区四区视频| 亚洲图片欧美午夜| 成人午夜黄色影院| 久久久久久午夜| 亚洲精品美女在线观看播放| 91美女片黄在线观看游戏| 青草青草久热精品视频在线观看| 日韩免费精品视频| 欧美激情视频一区二区| 欧美亚洲在线观看| 成人妇女淫片aaaa视频| 久久久久久噜噜噜久久久精品| 欧美一区深夜视频| 国产一区二区三区直播精品电影| 成人av在线网址| 欧美激情视频在线免费观看 欧美视频免费一| 亚洲国产成人久久| 午夜精品久久久久久久白皮肤| 亚洲人成在线观看| 日韩在线观看精品| 国产91成人在在线播放| 欧美成人免费在线视频| 日本亚洲精品在线观看| 国产精品视频公开费视频| 国产成人小视频在线观看| 亚洲免费av电影| 欧美裸体xxxx极品少妇软件| 欧美日韩国产在线播放| 深夜成人在线观看| 在线亚洲国产精品网| 日本久久精品视频| 亚洲黄色有码视频| 日韩高清不卡av| 国产精品午夜视频| 国产精品99久久久久久白浆小说| 亚洲一级免费视频| 亚洲午夜色婷婷在线| 欧美一区视频在线| 中文欧美在线视频| 亚洲精品国产精品乱码不99按摩| 国产精品入口免费视频一| 国产精品日韩欧美大师| 亚洲色图在线观看| 国产美女精品视频免费观看| 九九精品在线播放| 国产va免费精品高清在线| 国产精品极品在线| 亚洲网址你懂得| 国产精品爱久久久久久久| 欧美极品第一页| 欧美精品九九久久| 97精品伊人久久久大香线蕉|