二維碼的發(fā)展和工作原理

2024-03-25    分類: 網(wǎng)站建設(shè)

二維碼到底是怎么工作的呢?又是怎么被手機(jī)所識(shí)別的呢?今天我們就來聊聊二維碼的故事。

二維碼發(fā)展過程

其實(shí)早在1970年,美國易騰邁公司前身Interface Mechanisms就已經(jīng)發(fā)明了二維碼,但直到近幾年才普及起來。二維碼用特定的幾何圖形按照一定規(guī)律,在平面上印制出黑白相間的矩形方陣,用來記錄數(shù)據(jù)符號(hào)信息。它的原理和它的哥哥一維條形碼比較像,但一維條形碼的使用受到了較大的限制,有時(shí)甚至變得毫無意義。另外,要用一維條形碼表示漢字的場合,顯得十分不方便,且效率很低,所以高密度、高可靠性的二維碼就應(yīng)運(yùn)而生了。二維條碼是大容量、高可靠性信息實(shí)現(xiàn)存儲(chǔ)、攜帶并自動(dòng)識(shí)讀的最理想的方法。

從上世紀(jì)90 年代初,中國物品編碼中心將二維碼技術(shù)引進(jìn)中國,隨著國外二維碼制在中國不斷拓展,人們逐漸發(fā)現(xiàn)了一個(gè)問題,由于PDF417、QR等國外碼制沒有考慮中國漢字編碼的問題,在我國使用時(shí),經(jīng)常會(huì)出現(xiàn)中國漢字信息表示效率不高等問題。在2003年至2005年,中國物品編碼中心與我國網(wǎng)路暢想、意銳新創(chuàng)公司共同研發(fā)的漢信碼碼制,正式開啟了中國二維碼的新篇章。隨著漢信碼技術(shù)的發(fā)展成熟與國家標(biāo)準(zhǔn)的制定,我國二維碼產(chǎn)業(yè)和應(yīng)用發(fā)展有了自主知識(shí)產(chǎn)權(quán)二維碼碼制標(biāo)準(zhǔn)的支持,適合中國需求的二維碼民族產(chǎn)業(yè)開始起步。

到了今天,隨著iPhone、Android等智能手機(jī)軟硬件平臺(tái)的發(fā)展成熟,騰訊公司、百度公司等互聯(lián)網(wǎng)巨頭開始在二維碼上投入巨額資源研發(fā)和推廣,二維碼的移動(dòng)應(yīng)用市場被培養(yǎng)起來,公眾對于二維碼,特別是手機(jī)二維碼認(rèn)知逐漸成熟。用于手機(jī)識(shí)讀的二維碼廣泛出現(xiàn)在廣告、網(wǎng)頁、招牌、票據(jù)等載體上,手機(jī)“掃一掃”,實(shí)現(xiàn)移動(dòng)獲取信息或上網(wǎng)、添加微信、微博關(guān)注等應(yīng)用,已經(jīng)走入千家萬戶,悄無聲息的改變著我們的生活。

二維碼是怎么生成的

二維碼其實(shí)就是由很多0、1組成的數(shù)字矩陣。二維碼是用某種特定的幾何圖形按一定規(guī)律在平面(二維方向上)分布的黑白相間的圖形記錄數(shù)據(jù)符號(hào)信息的;在代碼編制上巧妙地利用構(gòu)成計(jì)算機(jī)內(nèi)部邏輯基礎(chǔ)的“0”、“1”比特流的概念,使用若干個(gè)與二進(jìn)制相對應(yīng)的幾何形體來表示文字?jǐn)?shù)值信息,通過圖象輸入設(shè)備或光電掃描設(shè)備自動(dòng)識(shí)讀以實(shí)現(xiàn)信息自動(dòng)處理:它具有條碼技術(shù)的一些共性:每種碼制有其特定的字符集;每個(gè)字符占有一定的寬度;具有一定的校驗(yàn)功能等。同時(shí)還具有對不同行的信息自動(dòng)識(shí)別功能、及處理圖形旋轉(zhuǎn)變化等特點(diǎn)。二維條碼/二維碼能夠在橫向和縱向兩個(gè)方位同時(shí)表達(dá)信息,因此能在很小的面積內(nèi)表達(dá)大量的信息。

簡單的說,二維碼就是把你想表達(dá)的信息翻譯成黑白兩種小方塊,然后填到這個(gè)大方塊中。有點(diǎn)類似我們中學(xué)的答題卡,就是把我們的語言翻譯成機(jī)器可識(shí)別的語言,說白了就是把數(shù)字、字母、漢字等信息通過特定的編碼翻譯成二進(jìn)制0和1,一個(gè)0就是一個(gè)白色小方塊,一個(gè)1就是一個(gè)黑色小方塊。

當(dāng)然這其中還有很多糾錯(cuò)碼,假如需要編碼的碼字?jǐn)?shù)據(jù)有100個(gè),并且想對其中的一半,也就是50個(gè)碼字進(jìn)行糾錯(cuò),則計(jì)算方法如下。糾錯(cuò)需要相當(dāng)于碼字2倍的符號(hào),因此在這種情況下的數(shù)量為50個(gè)×2=100碼字。因此,全部碼字?jǐn)?shù)量為200個(gè),其中用作糾錯(cuò)的碼字為50個(gè),也就是說在這個(gè)二維碼中,有25%的信息是用來糾錯(cuò)的,所以這也就解釋了二維碼即使缺了一點(diǎn)或者變皺了也一樣能被識(shí)別。有些朋友可能會(huì)問,為什么每個(gè)二維碼上都會(huì)有三個(gè)黑色大方塊呢?那就要涉及下面的內(nèi)容:手機(jī)是如何識(shí)別二維碼的。

二維碼怎么被手機(jī)識(shí)別的?

由于不同顏色的物體,其反射的可見光的波長不同,白色物體能反射各種波長的可見光,黑色物體則吸收各種波長的可見光.所以當(dāng)攝像頭掃描黑白相間的二維碼上時(shí),手機(jī)利用點(diǎn)運(yùn)算的閾值理論將采集到的圖象變?yōu)槎祱D像,即對圖像進(jìn)行二值化處理,得到二值化圖像后,對其進(jìn)行膨脹運(yùn)算,對膨脹后的圖象進(jìn)行邊緣檢測得到條碼區(qū)域的輪廓。

然后經(jīng)過一項(xiàng)灰度值計(jì)算公式對圖像進(jìn)行二值化處理。得到一幅標(biāo)準(zhǔn)的二值化圖像后,對該符號(hào)進(jìn)行網(wǎng)格采樣,對網(wǎng)格每一個(gè)交點(diǎn)上的圖像像素取樣,并根據(jù)閾值確定是深色“1”還是淺色“0”,從而得到二維碼的原始二進(jìn)制序列值,然后對這些數(shù)據(jù)進(jìn)行糾錯(cuò)和譯碼,最后根據(jù)條碼的邏輯編碼規(guī)則把這些原始的數(shù)據(jù)轉(zhuǎn)換成數(shù)據(jù)。

上文中我們提到的三個(gè)大黑方塊起什么作用呢?我們在使用手機(jī)掃描的時(shí)候無論是什么方向,都能夠正確識(shí)別二維碼的內(nèi)容,就是因?yàn)槭謾C(jī)通過三個(gè)大黑方塊識(shí)別出二維碼正確的方向。上述識(shí)別過程說起來分很多步驟,但在實(shí)際生活中,也就是兩三秒的工夫,非??欤?/p>

分享題目:二維碼的發(fā)展和工作原理
本文鏈接:http://bm7419.com/news49/321699.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、手機(jī)網(wǎng)站建設(shè)移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站收錄微信小程序、電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)