視覺二維碼

視覺二維碼

二維碼是一個小小的方格,但是在方格背後是一個巨大的行業應用的面,多個行業應用的面構成一個移動網際網路產業。國內現有彩色個性化二維碼,矢量二維碼,如今又誕生了第三代二維碼“視覺二維碼”。該二維碼生成演演算法為世界領先的演演算法。視覺二維碼由普通二維碼加背景圖計算而成,即按照我們所研發的演演算法,將背景圖片的區域與二維碼本體區域融合。

基本介紹


第三代二維碼的名稱叫做“視覺二維碼”,顧名思義,就是具有強大視覺衝擊力的二維碼。在視覺技術上的突破使我們實現了高識別率與高度視覺化的突破。按以往的技術來生成二維碼,如果保持較高的圖片融合度,那麼識別率將會降低很多。因此二代二維碼演演算法,要求碼體顏色深,背景顏色淺。而視覺二維碼則可以使用任意背景圖案,不論其顏色深淺,甚至純黑色都可以完美識讀。視覺二維碼的碼體覆蓋面積低,並通過演演算法減少了將近50%的數據點。
但是,這些“減少”的數據點,並不是真正的消失了,二維碼的容錯級別最高為30%左右,即二維碼的碼體被覆蓋部分不得超過30%,並且關鍵點處不得有覆蓋物。工程師通過圖形學的計算,把背景圖片中的深色和淺色區域進行了閾值的計算,對相當一部分本身就能取代二維碼碼體方塊的顏色區域,去除數據點的方塊圖案。經過多次的測試,將閾值控制到了非常理想的範圍內,平均能消除約50%的數據點,進一步的提升了背景圖形的視覺效果。
視覺二維碼是指將二維碼融入背景圖片中的一種特殊二維碼。這種二維碼,從外觀上看與普通二維碼具有明顯的不同,不再看見黑白相間的方格子,取而代之的是一張完整的背景圖,其上隱約可見一些圓形或方形的覆蓋物,以及普通二維碼也具有的三個定位點方塊。
視覺二維碼通過將背景像素灰度化,計算指定區域的均值灰度,模擬攝像頭掃描時候的判斷過程,將灰度不足的區域補齊,將灰度過高的區域重填半透明的白色覆蓋圖層,從而實現在較高識別率前提下的背景圖像融入。整個二維碼看起來與普通二維碼有很大的不同,似乎只有一整張背景圖,僅四角的定位點看上去跟之前一樣。
這樣的二維碼,保留了背景圖的絕大多數信息,但卻並未影響二維碼讀取軟體的識別,從功能上來說,與一般的二維碼無異。
視覺二維碼之所以既能保留背景圖的絕大部分信息,又確保了相當高的識別率,是因為生成演演算法中考慮了攝像頭在識別二維碼時候的原理,將背景圖指定區域的像素提取和計算灰度均值,使二維碼方塊的每一個方塊所對應的背景區域平均灰度值均超過識別閾值,從而確保了識別率。