大學最后一次課程設(shè)計,居然是數(shù)字圖像處理。可以想象有多為難,對于一個普通的二本學生來說,這無疑是一個挑戰(zhàn)。好在老師對我們放低了要求,可以站在巨人的肩膀上,可以從網(wǎng)上down別人的代碼,但是一定要弄懂。我們組選擇題目的是二維碼的生成與識別。完成這個課設(shè)才發(fā)現(xiàn)平常生活中隨處可見的二維碼居然這么復(fù)雜。果然不了解就沒有發(fā)言權(quán)啊。
下面我就把我總結(jié)的關(guān)于二維碼的相關(guān)知識點分享一下。
二維碼
二維碼又稱QR Code,QR全稱Quick Response,是一個近幾年來移動設(shè)備上超流行的一種編碼方式,它比傳統(tǒng)的Bar Code條形碼能存更多的信息,也能表示更多的數(shù)據(jù)類型。
二維條碼/二維碼(2-dimensional bar code)是用某種特定的幾何圖形按一定規(guī)律在平面(二維方向上)分布的黑白相間的圖形記錄數(shù)據(jù)符號信息的;在代碼編制上巧妙地利用構(gòu)成計算機內(nèi)部邏輯基礎(chǔ)的“0”、“1”比特流的概念,使用若干個與二進制相對應(yīng)的幾何形體來表示文字數(shù)值信息,通過圖象輸入設(shè)備或光電掃描設(shè)備自動識讀以實現(xiàn)信息自動處理:它具有條碼技術(shù)的一些共性:每種碼制有其特定的字符集;每個字符占有一定的寬度;具有一定的校驗功能等。同時還具有對不同行的信息自動識別功能、及處理圖形旋轉(zhuǎn)變化點。
二維碼的結(jié)構(gòu)
1、版本信息:version1(21*21),version2,...,version40,一共40個版本。版本代表每行有多少模塊,每一個版本比前一個版本增加4個碼元,計算公式為(n-1)*4+21,每個碼元存儲一個二進制0或者 1。1代表黑色,0表示白色。比如,version1表示每一行有21個碼元。
2、格式信息:存儲容錯級別L(7%),M(15%),Q(25%),R(35%)。容錯:允許存儲的二維碼信息出現(xiàn)重復(fù)部分,級別越高,重復(fù)信息所占比例越高。目的:即使二維碼被圖標遮住一部分,一樣可以獲取全部二維碼內(nèi)容。有圖片的二維碼, 圖片不算二維碼的一部分,它遮住一部分碼元,但還是可以掃描到所有內(nèi)容。