二維條碼/二維碼(2-dimensional bar code)是用某種特定的幾何圖形按壹定規律在平面(二維方向上)分布的黑白相間的圖形記錄數據符號信息的;在代碼編制上巧妙地利用構成計算機內部邏輯基礎的“0”、“1”比特流的概念,使用若幹個與二進制相對應的幾何形體來表示文字數值信息,通過圖象輸入設備或光電掃描設備自動識讀以實現信息自動處理:它具有條碼技術的壹些***性:每種碼制有其特定的字符集;每個字符占有壹定的寬度;具有壹定的校驗功能等。同時還具有對不同行的信息自動識別功能、及處理圖形旋轉變化點。
在代碼編制上巧妙地利用構成計算機內部邏輯基礎的“0”、“1”比特流的概念,使用若幹個與二進制相對應的幾何形體來表示文字數值信息,通過圖象輸入設備或光電掃描設備自動識讀以實現信息自動處理。在許多種類的二維條碼中,常用的碼制有:Data Matrix,MaxiCode, Aztec,QR Code, Vericode,PDF417,Ultracode,Code 49,Code 16K等,QR Code碼是1994年由日本DW公司發明。QR來自英文「Quick Response」的縮寫,即快速反應的意思,源自發明者希望QR碼可讓其內容快速被解碼。QR碼最常見於日本、韓國;並為目前日本最流行的二維空間條碼。但二維碼的安全性也正備受挑戰,帶有惡意軟件和病毒正成為二維碼普及道路上的絆腳石。發展與防範二維碼的濫用正成為壹個亟待解決的問題。
每種碼制有其特定的字符集;每個字符占有壹定的寬度;具有壹定的校驗功能等。同時還具有對不同行的信息自動識別功能及處理圖形旋轉變化等特點。
二維碼是壹種比壹維碼更高級的條碼格式。壹維碼只能在壹個方向(壹般是水平方向)上表達信息,而二維碼在水平和垂直方向都可以存儲信息。壹維碼只能由數字和字母組成,而二維碼能存儲漢字、數字和圖片等信息,因此二維碼的應用領域要廣得多。
二維條碼/二維碼可以分為堆疊式/行排式二維條碼和矩陣式二維條碼。 堆疊式/行排式二維條碼形態上是由多行短截的壹維條碼堆疊而成;矩陣式二維條碼以矩陣的形式組成,在矩陣相應元素位置上用“點”表示二進制“1”, 用“空”表示二進制“0”,“點”和“空”的排列組成代碼。 二維碼的原理可以從矩陣式二維碼的原理和行列式二維碼的原理來講述。
二維碼是什麽東西?通過圖形來包含信息!可以將二維碼當做壹種貼在物品上的標簽,在今後的物聯網發展中將會有大用~
當前發展最火的是手機二維碼,就是手機對二維碼拍照,獲取二維碼裏面特殊的信息,這是很有商業價值的模式。
。二維碼 ,又稱二維條碼,二維條形碼最早發明於日本,它是用某種特定的幾何圖形按壹定規律在平面(二維方向上)分布的黑白相間的圖形記錄數據符號信息的,在代碼編制上巧妙地利用構成計算機內部邏輯基礎的“0”、“1”比特流的概念,使用若幹個與二進制相對應的幾何形體來表示文字數值信息,通過圖象輸入設備或光電掃描設備自動識讀以實現信息自動處理。它具有條碼技術的壹些***性:每種碼制有其特定的字符集;每個字符占有壹定的寬度;具有壹定的校驗功能等。同時還具有對不同行的信息自動識別功能、及處理圖形旋轉變化等特點.
請問二維碼是什麽東西?怎麽用?二維碼是壹種信息載體。
裏面可以包含壹個網址連接或者是壹句話或者壹些簡單的信息。
下載掃描二維碼的工具即可掃描使用二維碼。
二維條碼是什麽東西?二維條碼簡介 由於條碼技術具有輸入速度快、準確度高、成本低、可靠性強等優點,因此在各行業得到了廣泛應用。但隨著應用領域的不斷擴展,傳統的壹維條碼漸漸表現出了它的局限:首先,使用壹維條碼,必須通過連接數據庫的方式提取信息才能明確條碼所表達的信息含意,因此在沒有數據庫或者不便聯網的地方,壹維條碼的使用就受到了限制;其次,壹維條碼表達的只能為字母和數字,而不能表達漢字和圖像,在壹些需要應用漢字的場合,壹維條碼便不能很好的滿足要求;另外,在某些場合下,大信息容量的壹維條碼通常受到標簽尺寸的限制,也給產品的包裝和印刷帶來了不便。 二維條碼的誕生解決了壹維條碼不能解決的問題,它能夠在橫向和縱向兩個方位同時表達信息,不僅能在很小的面積內表達大量的信息,而且能夠表達漢字和存儲圖像。二維條碼的出現拓展了條碼的應用領域,因此被許多不同的行業所采用二維條碼的分類二維條碼可以分為堆疊式二維條碼和矩陣式二維條碼。堆疊式二維條碼形態上是由多行短截的壹維條碼堆疊而成,矩陣式二維條碼以矩陣的形式組成,在矩陣相應元素位置上用點的出現表示二進制“1”,空的出現表示二進制“0”,由點的排列組合確定了代碼表示的含義。具有代表性的堆疊式二維條碼包括PDF417、Code 49、Code 16K等。有代表性的矩陣式二維條碼包括Code one、Aztec、Date Matrix、QR碼等。二維條碼可以使用激光或CCD閱讀器識讀。堆疊式二維條碼中包含附加的格式信息,信息容量可以達到1K,例如:PDF417碼可用來為運輸/收貨標簽的信息編碼,它作為ANSI MH10.8標準的壹部分為“紙上EDI”的送貨標簽內容編碼,這種編碼方法被許多的工業組織和機構采用。矩陣式二維條碼帶有更高的信息密度(如:Data Matrix、Maxicode、Aztec、QR碼),可以作為包裝箱的信息表達符號,在電子半導體工業中,將DataMatrix用於標識小型的零部件。矩陣式二維條碼只能被二維的CCD圖像式閱讀器識讀,並能以全向的方式掃描。新的二維條碼能夠將任何語言(包括漢字)和二進制信息(如簽字、照片)編碼,並可以由用戶選擇的不同程度的糾錯級別以和在符號殘損的情況下恢復所有信息的能力。二維條碼的印刷和識別條碼可以直接印刷在被掃描的物品上或者打印在標簽上,標簽可以由供應商專門打印或者現場打印。所有條碼都有壹些相似的組成部分。它們都有壹個空白區,稱為靜區,位於條碼的起始和終止部分的邊緣的外側。由特殊的起始和終止字符標示符號的開始和結束。校驗符在壹些符號法中是必須的,它可以用數學的方法對條碼進行校驗以保證譯碼後的信息正確無誤。二維條碼與壹維條碼具有許多相同的成分,它同時還包括信息量、排列順序以及糾錯的功能。矩陣式符號沒有標誌起始和終止的模塊,但它們有壹些特殊的“定位符”,定位符中包含了符號的大小和方位等信息。矩陣式二維條碼和新的堆疊式二維條碼能夠用先進的數學算法將數據從損壞的條碼符號中恢復。 在使用中,閱讀矩陣式二維條碼必須使用2D CCD條碼閱讀器,二維圖像式CCD條碼閱讀器同樣能閱讀壹維線性條形碼和堆疊式二維條碼。使用二維圖像式CCD條碼閱讀器可以全向識讀任何壹種符號。盡管每壹種閱讀器都有它的優越性,但是若要從壹個條碼系統中獲得最大的收益,所選用的掃描器就要求與應用的需求相對應。
妳發重了
二維碼是什麽原理使用若幹個與二進制相對應的幾何形體來表示文字數值信息,通過圖象輸入設備或光電掃描設備自動識讀以實現信息自動處理。更多二維碼的相關信息可登錄中網管家二維碼官網了解。
圖形和代碼轉化
二維碼是什麽原理?不知道從什麽時候開始,我們的生活突然之間就充滿了二維碼,看網頁要掃二維碼,加好友要掃二維碼,現在連樓下賣草莓的大爺都支持掃碼支付,那麽,妳有沒有想過,這個長得很奇怪的二維碼,到底是怎麽來的呢?它的原理是什麽?看完妳就知道了
其實在介紹二維碼原理之前妳可能已經猜到了,二維碼就是把信息翻譯成黑白小方塊,然後填到這個大方塊裏,這有點類似中學考試用的答題卡,就是把信息變成機器可掃描圖案,壹秒鐘就能知道妳得了多少分。當然,二維碼的原理和答題卡還不太壹樣,這個稍後會講到。
我們先來說壹下二維碼的哥哥----條形碼。也就是超時收銀員掃的那個黑白條,電腦在水平方向上識別粗細不均的黑白條,就能找出藏在其中的商品編號信息,相比於只在壹個維度上攜帶信息的條形碼,“二維碼”在水平垂直兩個維度上都攜帶了信息,也就做成了方塊狀的樣子,條形碼和二維碼這壹對好兄弟說白了,其實就是給數字、字母、符號等這些字符換了壹身衣服,把他們打扮成了能被手機相機識別的黑白條或塊。那麽,最關鍵的問題來了,這些字符,到底是怎麽變成這種二維碼圖案的呢?
這就要提到壹個人類具有劃時代意義的偉大發明“二進制”。我們平時使用的數字。字符、漢字等各種字符,雖然畫風完全不同,但是機智的人類發明了壹個方法,使他們都可以被統壹轉換成又0和1組成的二進制數字序列,這個轉換的過程叫做編碼,國際上有幾套通用的編碼規則,我們今天就用壹個例子來感受壹下,編碼是怎麽回事。比如AB這個由兩個英文字母組成的字符,根據編碼規則,每壹個獨立的英文字母都有唯壹壹個十進制數字與之對應,而像AB這樣的字符串則要在對應數字的基礎上再做運算,而運算的結果再轉換成二進制,就變成“000111001101”這樣的數字,哦對了,整個計算機和互聯網文明都是建立在這種二進制編碼上的,妳現在看得視頻,不管在妳的電腦還是手機裏,其實也只是壹串0和1而以。
我們回到二維碼的生成原理上,字符在變成只有0和1組成的數字序列後,在進行壹系列優化算法(此處自行腦補壹系列優化算法),就得到了最終的二進制編碼。在最後的這串編碼中,壹個0就對應的是壹個'白色小方塊',壹個1就對應的壹個‘黑色小方塊’,我們把這些小方塊分成8個壹組填進大方塊裏,這就是壹個完整的、可以被手機相機識別的二維碼圖案了。
二維碼為什麽是黑白相間的?黑色表示二進制的“1”,白色表示二進制的“0”
“我們之所以對二維碼進行掃描能讀出那麽多信息,就是因為這些信息被編入了二維碼之中。”黃海平說,“制作二維碼輸入的信息可以分成三類,文本信息,比如名片信息;字符信息,比如網址、電話號碼;還有圖片信息,甚至還可以包括簡短的視頻。”數據信息是怎麽被編入的呢?信息輸入後,首先要選擇壹種信息編碼的碼制。現在常見的二維碼都是以QR碼作為編碼的碼制。QR碼是矩陣式二維碼,它是在壹個矩形空間內,通過黑、白像素在矩陣中的不同分布,來進行編碼的。我們知道電腦使用二進制(0和1)數來貯存和處理數據,而在二維碼中,用黑白矩形表示二進制數據我們肉眼能看到的黑色表示的是二進制“1”,白色表示二進制的“0”,黑白的排列組合確定了矩陣式二維條碼的內容,以便於計算機對二維碼符號進行編碼和分析。
QR CODE 介紹:QR(Quick-Response) code是被廣泛使用的壹種二維碼,解碼速度快。它可以存儲多用類型。如下圖時壹個qrcode的基本結構,其中:位置探測圖形、位置探測圖形分隔符、定位圖形:用於對二維碼的定位,對每個QR碼來說,位置都是固定存在的,只是大小規格會有所差異;校正圖形:規格確定,校正圖形的數量和位置也就確定了;格式信息:表示改二維碼的糾錯級別,分為L、M、Q、H;版本信息:即二維碼的規格,QR碼符號***有40種規格的矩陣(壹般為黑白色),從21x21(版本1),到177x177(版本40),每壹版本符號比前壹版本 每邊增加4個模塊。數據和糾錯碼字:實際保存的二維碼信息,和糾錯碼字(用於修正二維碼損壞帶來的錯誤)。
簡要的編碼過程:數據分析:確定編碼的字符類型,按相應的字符集轉換成符號字符; 選擇糾錯等級,在規格壹定的條件下,糾錯等級越高其真實數據的容量越小。數據編碼:將數據字符轉換為位流,每8位壹個碼字,整體構成壹個數據的碼字序列。其實知道這個數據碼字序列就知道了二維碼的數據內容。
數據可以按照壹種模式進行編碼,以便進行更高效的解碼,例如:對數據:01234567編碼(版本1-H),1)分組:012 345 672)轉成二進制:012→0000001100 345→0101011001 67 →10000113)轉成序列:0000001100 0101011001 10000114)字符數 轉成二進制:8→00000010005)加入模式指示符(上圖數字)0001:0001 0000001000 0000001100 0101011001 1000011對於字母、中文、日文等只是分組的方式、模式等內容有所區別。基本方法是壹致的
糾錯編碼:按需要將上面的碼字序列分塊,並根據糾錯等級和分塊的碼字,產生糾錯碼字,並把糾錯碼字加入到數據碼字序列後面,成為壹個新的序列。在二維碼規格和糾錯等級確定的情況下,其實它所能容納的碼字總數和糾錯碼字數也就確定了,比如:版本10,糾錯等級時H時,總***能容納346個碼字,其中224個糾錯碼字。就是說二維碼區域中大約1/3的碼字時冗余的。對於這224個糾錯碼字,它能夠糾正112個替代錯誤(如黑白顛倒)或者224個據讀錯誤(無法讀到或者無法譯碼),這樣糾錯容量為:112/346=32.4%
構造最終數據信息:在規格確定的條件下,將上面產生的序列按次序放如分塊中,按規定把數據分塊,然後對每壹塊進行計算,得出相應的糾錯碼字區塊,把糾錯碼字區塊 按順序構成壹個序列,添加到原先的數據碼字序列後面。如:D1, D12, D23, D35, D2, D13, D24, D36, ... D11, D22, D33, D45, D34, D46, E1, E23,E45, E67, E2, E24, E46, E68,...構造矩陣:將探測圖形、分隔符、定位圖形、校正圖形和碼字模塊放入矩陣中。
掩摸:將掩摸圖形用於符號的編碼區域,使得二維碼圖形中的深色和淺色(黑色和白色)區域能夠比率最優的分布。 壹個算法,不研究了,有興趣的同學可以繼續。格式和版本信息:生成格式和版本信息放入相應區域內。版本7-40都包含了版本信息,沒有版本信息的全為0。二維碼上兩個位置包含了版本信息,它們是冗余的。版本信息***18位,6X3的矩陣,其中6位時數據為,如版本號8,數據位的信息時 001000,後面的12位是糾錯位。至此,二維碼的編碼流程基本完成了,下面就來實踐壹下吧,當然不用自己再去編寫上面的算法了,使用三方包zxing 就可以了編碼:public static void encode(String content, String format, String filePath) {try {Hashtable hints = new Hashtable();設置編碼類型hints.put(EncodeHintType.CHARACTER_SET, DEFAULT_ENCODING);編碼BitMatrix bitMatrix = new QRCodeWriter().encode(content,BarcodeFormat.QR_CODE, DEFAULT_IMAGE_WIDTH,DEFAULT_IMAGE_HEIGHT,hints);輸出到文件,也可以輸出到流File file = new File(filePath);MatrixToImageWriter.writeToFile(bitMatrix, format, file);} catch (IOException e) {e.printStackTrace();} catch (WriterException e1) {e1.printStackTrace();}}解碼: BufferedImage image = ImageIO.read(file);讀取文件LuminanceSource source = new BufferedImageLuminanceSource(image);BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source)); 解碼Result result = new MultiFormatReader().decode(bitmap);String resultStr = result.getText(); System.out.println(resultStr);
二維碼是什麽原理 二維碼是誰發明的二維碼 ,又稱二維條碼條形碼技術發展簡史 條形碼最早出現在40年代,但是得到實際應用和發展還是在70年代左右。現在世界上的各個國家和地區都已經普遍使用條形碼技術,而且它正在快速的向世界各地推廣,其應用領域越來越廣泛,並逐步滲透到許多技術領域。
早在40年代,美國喬·伍德蘭德(Joe Wood Land)和伯尼·西爾沃(Berny Silver)兩位工程師就開始研究用代碼表示食品項目及相應的自動識別設備,於1949年獲得了美國專利。該圖案很像微型射箭靶,被叫做“公牛眼”代碼。靶式的同心圓是由圓條和空繪成圓環形。在原理上,“公牛眼”代碼與後來的條形碼很相近,遺憾的是當時的工藝和商品經濟還沒有能力印制出這種碼。
然而,20年後喬·伍德蘭德作為IBM公司的工程師成為北美統壹代碼UPC碼的奠基人。以吉拉德·費伊塞爾(Girard Fe- -ssel)為代表的幾名發明家,於1959年提請了壹項專利,描述了數字0-9中每個數字可由七段平行條組成。但是這種碼使機器難以識讀,使人讀起來也不方便。不過這壹構想的確促進了後來條形碼的產生於發展。 不久,E·F·布寧克(E·F·Brinker)申請了另壹項專利,該專利是將條形碼標識在有軌電車上。
60年代後期西爾沃尼亞(Sylvania)發明的壹個系統,被北美鐵路系統采納。這兩項可以說是條形碼技術最早期的應用。1970年美國超級市場Ad Hoc委員會制定出通用商品代碼UPC碼,許多團體也提出了各種條形碼符號方案,如上圖右下、左圖所示。UPC碼首先在雜貨零售業中試用,這為以後條形碼的統壹和廣泛采用奠定了基礎。次年布萊西公司研制出布萊西碼及相應的自動識別系統,用以庫存驗算。這是條形碼技術第壹次在倉庫管理系統中的實際應用。
1972年蒙那奇·馬金(Monarch Marking)等人研制出庫德巴(Code bar)碼,到此美國的條形碼技術進入新的發展階段。
1973年美國統壹編碼協會(簡稱UCC)建立了UPC條形碼系統,實現了該碼制標準化。同年,食品雜貨業把UPC碼作為該行業的通用標準碼制,為條形碼技術在商業流通銷售領域裏的廣泛應用,起到了積極的推動作用。
1974年Intermec公司的戴維·阿利爾(Davide·Allair)博士研制出39碼,很快被美國國防部所采納,作為 軍用條形碼碼制。39碼是第壹個字母、數字式的條形碼,後來廣泛應用於工業領域。
1976年在美國和加拿大超級市場上,UPC碼的成功應用給人們以很大的鼓舞,尤其是歐洲人對此產生了極大興趣。次年,歐洲***同體在UPC-A碼基礎上制定出歐洲物品編碼EAN-13和EAN-8碼,簽署了“歐洲物品編碼”協議備忘錄,並正式成立了歐洲物品編碼協會(簡稱EAN)。
到了1981年由於EAN已經發展成為壹個國際性組織,故改名為“國際物品編碼協會”,簡稱IAN。但由於歷史原因和習慣,至今仍稱為EAN。
日本從1974年開始著手建立POS系統,研究標準化以及信息輸入方式、印制技術等。並在EAN基礎上,於1978年制定出日本物品編碼JAN。同年加入了國際物品編碼協會,開始進行廠家登記註冊,並全面轉入條形碼技術及其系列產品的開發工作,10年之後成為EAN最大的用戶。
從80年代初,人們圍繞提高條形碼符號的信息密度,開展了多項研究。128碼和93碼就是其中的研究成果。128碼於1981年被推薦使用,而93碼於1982年使用。這兩種碼的優點是條形碼符號密度比39碼高出近30%。隨著條形碼技術的發展,條形碼碼制種類不斷增加,因而標準化問題顯得很突出。為此先後制定了軍用標準1189;交叉25碼、39碼和庫德巴碼ANSI標準MH10.8M等等。同時壹些行業也開始建立行業標準,以適應發展需要。
此後,戴維·阿利爾又研制出49碼,這是壹種非傳統的條形碼符號,它比以往的條形碼符號具有更高的密度。接著特德·威廉斯(Ted Williams)推出16K碼,這是壹種適用於激光系統的碼制。到目前為止,***有40多種條形碼碼制,相應的自動識別設備和印刷技術也得到了長足的發展。
從80年代中期開始,我國壹些高等院校、科研部門及壹些出口企業,把條形碼技術的研究和推廣應用逐步提到議事日程。壹些行業如圖書、郵電、物資管理部門和外貿部門已開始使用條形碼技術。在經濟全球化、信息網絡化、生活國際化、文化國土化的資訊社會到來之時,起源於40年代、研究於60年代、應用於70年代、普及於80年代的條碼與條碼技術,及各種應用系統,引起世界流通領域裏的大變革正風靡世界。 條碼作為壹種可印制的計算機語言、未來學家稱之為“計算機文化”。
90年代的國際流通領域將條碼譽為商品進入國際計算機市場的“身份證”,使全世界對它刮目相看。 印刷在商品外包裝上的條碼,象壹條條經濟信息紐帶將世界各地的生產制造商、出口商、批發商、零售商和顧客有機地聯系在壹起。這壹條條紐帶,壹經與EDI系統相聯,便形成多項、多元的信息網,各種商品的相關信息猶如投入了壹個無形的永不停息的自動導向傳送機構,流向世界各地,活躍在世界商品流通領域。