用python生成驗證碼圖片

發表於2016-04-26

引入

基本上大家使用每一種網路服務都會遇到驗證碼,一般是網站為了防止惡意註冊、發帖而設定的驗證手段。其生成原理是將一串隨機產生的數字或符號,生成一幅圖片,圖片里加上一些干擾象素(防止OCR)。下面就詳細講解如何生成驗證碼。

所需環境

除了配置好的python環境外,還需要配有python中的PIL庫,這是python中專門用來處理圖片的庫。用傳統的pip install 方法或者下載原始碼 python setup.py install 方法安裝該庫,很可能會報錯(視執行環境不同)。可以採用以下方法

程式碼實現

要生成驗證碼圖片,我們首先要生成一個隨機字串,包含26個字母和10個數字。

然後我們要建立一個圖片,寫入字串,需要說明的這裡面的字型是不同系統而定,如果沒有找到系統字型路徑的話,也可以不設定

接下來,我們要在圖片上畫幾條干擾線

最後建立扭曲,加上濾鏡,用來增強驗證碼的效果。

下面是用上述程式生成的一個驗證碼

下面是完整的程式碼:

相關文章