最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python驗(yàn)證碼識別的實(shí)例詳解

 更新時(shí)間:2016年09月09日 09:22:27   投稿:daisy  
現(xiàn)在的網(wǎng)站為了防止機(jī)器人提交表單,圖片驗(yàn)證碼是很常見的應(yīng)對手段之一。這里就不詳細(xì)介紹了,相信大家都遇到過?,F(xiàn)在這篇文章就給出用Python識別驗(yàn)證碼的詳細(xì)示例代碼,文中介紹的很詳細(xì),有需要的可以參考借鑒。

其實(shí)關(guān)于驗(yàn)證碼識別涉及很多方面的內(nèi)容,入手難度大,但是入手后,可拓展性又非常廣泛,可玩性極強(qiáng),成就感也很足,對這感興趣的朋友們下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧。

依賴

sudo apt-get install python-imaging
sudo apt-get install tesseract-ocr
pip install pytesseract

利用google ocr來識別驗(yàn)證碼

from PIL import Image
import pytesseract
image = Image.open('v1.jpg')
vcode = pytesseract.image_to_string(image)
print vcode

但是pytesseract本身識別率不高,而且一般網(wǎng)站的驗(yàn)證碼都帶有大量干擾元素。( ̄▽ ̄)"

所以我們首先要對驗(yàn)證碼進(jìn)行去噪。

對于單像素干擾線、干擾點(diǎn)我們可以通過掃描整個(gè)圖像,考察每一個(gè)像素點(diǎn)所臨近的八個(gè)像素點(diǎn)的顏色,如果不同的個(gè)數(shù)大于一定的值,那就說明該點(diǎn)是離散點(diǎn),需要去除。

另外也可以嘗試設(shè)定閾值來直接將驗(yàn)證碼二值化。

下面是兩張學(xué)校網(wǎng)站上的驗(yàn)證碼

我們可以看到驗(yàn)證碼存在單像素干擾點(diǎn),所以我們需要設(shè)法去除。但是經(jīng)過反復(fù)刷新驗(yàn)證碼,發(fā)現(xiàn)這個(gè)驗(yàn)證碼

     1. 只有加法運(yùn)算

     2.至多兩位數(shù)的加法

     3.文字部分一定是紅色(255,0,0)

有了上述的信息,可以判斷這個(gè)驗(yàn)證碼的生成算法是有缺陷的

import Image 
from numpy import * 
import pytesseract 
im = Image.open('1.png') 
im = im.convert('RGB') 
#拉長圖像,方便識別。
im = im.resize((200,80)) 
a = array(im) 
for i in xrange(len(a)): 
for j in xrange(len(a[i])): 
  if a[i][j][0] == 255: 
    a[i][j]=[0,0,0] 
  else: 
    a[i][j]=[255,255,255] 
im = Image.fromarray(a) 
im.show() 
vcode = pytesseract.image_to_string(im) 
print vcode 

利用上述腳本我們可以將圖像進(jìn)行二值化,利用google ocr進(jìn)行識別。再通過eval()來對表達(dá)式進(jìn)行求值。

總結(jié)

python驗(yàn)證碼識別的內(nèi)容到這就基本介紹了,希望這篇文章對大家的學(xué)習(xí)或者工作能有所幫助,如果有疑問大家可以留言交流。

相關(guān)文章

  • python 讀取.csv文件數(shù)據(jù)到數(shù)組(矩陣)的實(shí)例講解

    python 讀取.csv文件數(shù)據(jù)到數(shù)組(矩陣)的實(shí)例講解

    今天小編就為大家分享一篇python 讀取.csv文件數(shù)據(jù)到數(shù)組(矩陣)的實(shí)例講解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Django重設(shè)Admin密碼過程解析

    Django重設(shè)Admin密碼過程解析

    這篇文章主要介紹了Django重設(shè)Admin密碼過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • pandas重新生成索引的方法

    pandas重新生成索引的方法

    今天小編就為大家分享一篇pandas重新生成索引的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • Pandas+openpyxl進(jìn)行Excel處理詳解

    Pandas+openpyxl進(jìn)行Excel處理詳解

    這篇文章主要為大家詳細(xì)介紹了如何使用pandas和openpyxl庫對多個(gè)Excel文件進(jìn)行多種處理的方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下
    2025-02-02
  • 使用Python?Pathlib模塊一站式解決文件路徑難題

    使用Python?Pathlib模塊一站式解決文件路徑難題

    在本文中,將詳細(xì)介紹pathlib模塊,包括如何創(chuàng)建路徑、檢查文件和目錄的存在、遍歷目錄、執(zhí)行文件操作等,此外,還將提供豐富的示例代碼來演示如何使用pathlib模塊來處理文件和目錄
    2023-11-11
  • Python如何統(tǒng)計(jì)大小寫字母個(gè)數(shù)和數(shù)字個(gè)數(shù)

    Python如何統(tǒng)計(jì)大小寫字母個(gè)數(shù)和數(shù)字個(gè)數(shù)

    這篇文章主要介紹了Python如何統(tǒng)計(jì)大小寫字母個(gè)數(shù)和數(shù)字個(gè)數(shù)問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • python實(shí)現(xiàn)b站直播自動發(fā)送彈幕功能

    python實(shí)現(xiàn)b站直播自動發(fā)送彈幕功能

    這篇文章主要介紹了python如何實(shí)現(xiàn)b站直播自動發(fā)送彈幕,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-02-02
  • python讀寫數(shù)據(jù)讀寫csv文件(pandas用法)

    python讀寫數(shù)據(jù)讀寫csv文件(pandas用法)

    這篇文章主要介紹了python讀寫數(shù)據(jù)讀寫csv文件(pandas用法),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • OpenCV半小時(shí)掌握基本操作之直方圖

    OpenCV半小時(shí)掌握基本操作之直方圖

    這篇文章主要介紹了OpenCV基本操作之直方圖,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • python中使用%與.format格式化文本方法解析

    python中使用%與.format格式化文本方法解析

    這篇文章主要介紹了python中使用%與.format格式化文本方法解析,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2017-12-12

最新評論

宣城市| 临湘市| 沙田区| 武平县| 万年县| 洞口县| 阳江市| 连平县| 灵宝市| 怀宁县| 民权县| 台州市| 文水县| 榆林市| 康定县| 分宜县| 原阳县| 兴城市| 大关县| 栾川县| 蛟河市| 碌曲县| 冕宁县| 仙居县| 福贡县| 兴仁县| 东宁县| 华蓥市| 禹城市| 绥芬河市| 石柱| 道孚县| 绥滨县| 思茅市| 鹿泉市| 九寨沟县| 顺昌县| 米脂县| 西乌珠穆沁旗| 佛教| 辽阳县|