python生成二維碼
二維碼又稱QR Code,QR全稱Quick Response,是一個近幾年來移動裝置上超流行的一種編碼方式,它比傳統的Bar Code條形碼能存更多的資訊,也能表示更多的資料類型:比如:字元,數字,日文,中文等等。
二維碼一共有40個Version,Version 規定了二維碼的尺寸,Version 1是21 x 21的矩陣,Version 2是 25 x 25的矩陣,Version 3是29x29的尺寸,每增加一個version,就會增加4的尺寸,公式是:(V-1)x4 + 21(V是版本号) 最高Version 40,(40-1)*4+21 = 177,是以最高是177 x 177 的正方形。
QR碼從360°任一方向均可快速讀取。其奧秘就在于QR碼中的3處定位圖案,可以幫助QR碼不受背景樣式的影響,實作快速穩定的讀取。
二維碼中有四種級别的糾錯(Error Correction Code Level),這就是為什麼二維碼有殘缺還能掃出來,以及為什麼有人在二維碼的中心位置加入圖示還能掃出來。
錯誤修正容量
L水準
7%的字碼可被修正
M水準
15%的字碼可被修正
Q水準
25%的字碼可被修正
H水準
30%的字碼可被修正
例如,需要輸入的資料為100位的數字時,通過以下步驟來標明。

二維碼中可以寫入任何内容,包括文字、網址連結等。
qrcode子產品安裝很簡單:
下面的代碼生成一個二維碼,掃描和會顯示文字“川普大統領是懂王!”:
也可以在二維碼中寫入網站連結,掃描後會自動跳轉到該網站:
qrcode生成二維碼還可以做更多定制:
由于二維碼有糾錯功能,還可以在二維碼中間貼上圖像(類似于微信二維碼),可以通過PIL庫的img.paste函數實作。
myqr依賴于imageio,隻支援python3:
生成帶圖檔的二維碼,此為彩色圖檔代碼,需要黑白圖檔就去掉參數colorized=True:
圖檔還可以設定為動圖,也可以對二維碼做更多定制:
感興趣的請關注微信公衆号Video Coding