python圖像處理-實現驗證碼圖片(上)

  • 2020 年 3 月 12 日
  • 筆記

前言

本系列課程是針對無基礎的,爭取用簡單明了的語言來講解,學習前需要具備基本的電腦操作能力,準備一個已安裝python環境的電腦。如果覺得好可以分享轉發,有問題的地方也歡迎指出,在此先行謝過。

前言

我們平常登錄網站時,都會有見到要我們輸入驗證碼的情況,驗證碼是用來區分用戶是計算機還是人,主要是防止惡意破解密碼、刷票、爬取數據等(現在通過其它技術同樣可以識別,這裡就不做討論了)。

給圖片寫上文字

驗證碼的實現其實和我們之前講的圖片上寫文字是一個原理,只不過對圖片和文字做了一些處理,下面是最簡單的驗證碼,在一張圖片上寫上qwert。

調整字體和顯示位置

上面字體比較小,且沒有局中,通過調整一些字體大小和顯示位置,讓整個驗證碼看上去更舒服一點。

隨機字符實現過程

上面的驗證碼字符是我們寫好固定的,實際上的驗證碼是隨機的,這裡我們只需要用python的隨機庫random就可以實現了。這裡可以自己手動編寫所有可能的字符和數字,也可以使用python的chr內置方法,將數字變成ascii字符,然後利用random.choices從一個序列裏面隨機選取四個字符。

圖片隨機驗證碼實現

上面的方法幫助我們生成了所有的可能字符串,為了方便,直接將他們放到一個變量裏面,接着從裏面實現一個隨機的字符code,從而達到隨機驗證碼的效果。