真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

使用python腳本怎么識(shí)別驗(yàn)證碼-創(chuàng)新互聯(lián)

這篇文章給大家介紹使用python腳本怎么識(shí)別驗(yàn)證碼,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、托里網(wǎng)絡(luò)推廣、微信平臺(tái)小程序開發(fā)、托里網(wǎng)絡(luò)營銷、托里企業(yè)策劃、托里品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供托里建站搭建服務(wù),24小時(shí)服務(wù)熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com

首先進(jìn)行二值化處理。由于圖片中的噪點(diǎn)顏色比較淺,所以可以設(shè)定一個(gè)閾值直接過濾掉。這里我設(shè)置的閾值是150,像素大于150的賦值為1,小于的賦為0.

def set_table(a):
  table = []     
  for i in range(256):
    if i < a:
      table.append(0)
    else:
      table.append(1)
  return table

img = Image.open("D:/python/單個(gè)字體/A"+str(i)+".jpg")
pix = img.load()

#將圖片進(jìn)行灰度化處理
img1 = img.convert('L')

#閾值為150,參數(shù)為1,將圖片進(jìn)行二值化處理
img2 = img1.point(set_table(150),'1')

處理后的圖片如下。

使用python腳本怎么識(shí)別驗(yàn)證碼

閾值不同產(chǎn)生的不同效果:

使用python腳本怎么識(shí)別驗(yàn)證碼

接下來對(duì)圖片進(jìn)行分割。遍歷圖片中所有像素點(diǎn),計(jì)算每一列像素為0的點(diǎn)的個(gè)數(shù)(jd)。對(duì)于相鄰兩列,若其中一列jd=0,而另一列jd!=0,則可以認(rèn)為這一列是驗(yàn)證碼中字符邊界,由此對(duì)驗(yàn)證碼進(jìn)行分割。這樣分割能達(dá)到比較好的效果,分割后得到的字符圖片幾乎能與模板完全相同。

(Width,Height) = img2.size
pix2 = img2.load()
x0 = []
y0 = []

for x in range(1,Width):
  jd = 0
  # print x
  for y in range(1,Height):
    # print y
    if pix2[x,y] == 0:
      jd+=1
  y0.append(jd)
  if jd > 0:
    x0.append(x)

#分別對(duì)各個(gè)字符邊界進(jìn)行判斷,這里只舉出一個(gè)    
for a in range(1,Width):
  if (y0[a] != 0)&(y0[a+1] != 0):
    sta1 = a+1
    break

分割完成后,對(duì)于識(shí)別,目前有幾種方法??梢员闅v圖片的每一個(gè)像素點(diǎn),獲取像素值,得到一個(gè)字符串,將該字符串與模板的字符串進(jìn)行比較,計(jì)算漢明距離或者編輯距離(即兩個(gè)字符串的差異度),可用Python-Levenshtein庫來實(shí)現(xiàn)。

我采用的是比較特征向量來進(jìn)行識(shí)別的。首先設(shè)定了4個(gè)豎直特征向量,分別計(jì)算第0、2、4、6列每一列像素值為0的點(diǎn)的個(gè)數(shù),與模板進(jìn)行比較,若小于閾值則認(rèn)為該字符與模板相同。為了提高識(shí)別率,如果通過豎直特征向量未能識(shí)別成功,引入水平特征向量繼續(xù)識(shí)別,原理與豎直特征向量相同。

另外,還可以通過局部特征進(jìn)行識(shí)別。這對(duì)于加入了旋轉(zhuǎn)干擾的驗(yàn)證碼有很好效果。由于我寫的腳本識(shí)別率已經(jīng)達(dá)到了要求,所以并沒有用到這個(gè)。

最后的結(jié)果是這樣的:

使用python腳本怎么識(shí)別驗(yàn)證碼

關(guān)于使用python腳本怎么識(shí)別驗(yàn)證碼就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。


網(wǎng)站題目:使用python腳本怎么識(shí)別驗(yàn)證碼-創(chuàng)新互聯(lián)
文章來源:http://weahome.cn/article/deiojj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部