大學最后一次課程設計,居然是數(shù)字圖像處理??梢韵胂笥卸酁殡y,對于一個普通的二本學生來說,這無疑是一個挑戰(zhàn)。好在老師對我們放低了要求,可以站在巨人的肩膀上,可以從網(wǎng)上down別人的代碼,但是一定要弄懂。我們組選擇題目的是二維碼的生成與識別。完成這個課設才發(fā)現(xiàn)平常生活中隨處可見的二維碼居然這么復雜。果然不了解就沒有發(fā)言權啊。
下面我就把我總結(jié)的關于二維碼的相關知識點分享一下。
二維碼
二維碼又稱QR Code,QR全稱Quick Response,是一個近幾年來移動設備上超流行的一種編碼方式,它比傳統(tǒng)的Bar Code條形碼能存更多的信息,也能表示更多的數(shù)據(jù)類型。
二維條碼/二維碼(2-dimensional bar code)是用某種特定的幾何圖形按一定規(guī)律在平面(二維方向上)分布的黑白相間的圖形記錄數(shù)據(jù)符號信息的;在代碼編制上巧妙地利用構(gòu)成計算機內(nèi)部邏輯基礎的“0”、“1”比特流的概念,使用若干個與二進制相對應的幾何形體來表示文字數(shù)值信息,通過圖象輸入設備或光電掃描設備自動識讀以實現(xiàn)信息自動處理:它具有條碼技術的一些共性:每種碼制有其特定的字符集;每個字符占有一定的寬度;具有一定的校驗功能等。同時還具有對不同行的信息自動識別功能、及處理圖形旋轉(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)重復部分,級別越高,重復信息所占比例越高。目的:即使二維碼被圖標遮住一部分,一樣可以獲取全部二維碼內(nèi)容。有圖片的二維碼, 圖片不算二維碼的一部分,它遮住一部分碼元,但還是可以掃描到所有內(nèi)容。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26