日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

二维码原来可以这样玩

發(fā)布時間:2024/8/23 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 二维码原来可以这样玩 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

二維碼是怎么生成的?


二維碼其實就是由很多0、1組成的數(shù)字矩陣。二維碼是用某種特定的幾何圖形按一定規(guī)律在平面(二維方向上)分布的黑白相間的圖形記錄數(shù)據(jù)符號信息;它巧妙地利用構(gòu)成計算機內(nèi)部邏輯基礎(chǔ)的“0”、“1”比特流的概念,使用若干個與二進制相對應(yīng)的幾何形體來表示文字數(shù)值信息,通過圖象輸入設(shè)備或光電掃描設(shè)備自動識讀以實現(xiàn)信息自動處理。

下面我們來看一個簡單的二維碼樣例:


其實,二維碼就是把你想表達的信息翻譯成黑白兩種小方塊,然后填到這個大方塊中。在定位準確的前提下,只要機器讀取到的那個部分有一個黑點——哪怕只是小小的黑點,都不妨礙它被識別為“1”,連一丁點兒小黑點都沒有的地方自然就被識別為“0”了,因此二維碼也未必都是由黑白小方塊組成。





缺了一塊也能掃?




二維碼的組成中含有很多糾錯碼,假如需要編碼的碼字數(shù)據(jù)有100個,并且想對其中的一半,也就是50個碼字進行糾錯,則計算方法如下。糾錯需要相當(dāng)于碼字2倍的符號,因此在這種情況下的數(shù)量為50個×2=100碼字。因此,全部碼字數(shù)量為200個,其中用作糾錯的碼字為50個,也就是說在這個二維碼中,有25%的信息是用來糾錯的,因此即使缺了一點或者變皺了也一樣能被識別,不信你試試。





這也就是為什么現(xiàn)在許多二維碼中央都可以加上LOGO,比如算數(shù)學(xué)苑~


或者用其他東西代替LOGO也不要緊哦~?





為什么有三個大方塊?




這個我們就需要聊到二維碼是怎么被手機識別的。

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

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

我們在使用手機掃描的時候無論是什么方向,甚至歪歪扭扭,都能夠正確識別二維碼的內(nèi)容,就是因為手機通過這三個黑色小方塊定位出二維碼正確的方向。所以這三個黑色小方塊千萬不能被擋住,當(dāng)然倒也不一定非得是方塊形狀的啦…



試試掃一下!



看到這相信大家對二維碼應(yīng)該有所了解了吧,可能有人會說這些都太簡單了,網(wǎng)上有很多很有創(chuàng)意的二維碼呢,好吧,和小編一起來看看都是怎么做的呢。

如下圖就是一個普通二維碼的基本結(jié)構(gòu)。黑白元素其實就是二進制,三個定位用圖案,以及中間的一些信息儲存區(qū)。

來看一張我們設(shè)計師的杰作?


說了那么多,你還是發(fā)揮不出來這樣的藝術(shù)風(fēng)格?好,那還是擼起袖子一起做吧。

我們來以一個較簡單的29x29的二維碼為例

??首先給二維碼拉一個同樣大小的網(wǎng)格以區(qū)別二維碼中相鄰的像素點,同樣,這里二維碼中的黑色塊也已經(jīng)預(yù)處理為圓形以示區(qū)分。

實際經(jīng)驗表明在對二維碼中的黑色圓點進行藝術(shù)修改時,通常替代圖形最小不能上小于圖中的紅色圓點,最大也不能大于上圖中的黃色圓點,從而保證實際操作中二維碼的識別度不會下降甚至完全無法識別。

??其次,根據(jù)擬采取的藝術(shù)主題,將不同的黑色圓點組合替換成相應(yīng)的素材實例,下面以幾種水果給出這個過程的具象化表示。

左邊表示所替換的相鄰黑色圓點的數(shù)目,右邊表示擬替換的素材。

??第三,將二維碼按照相鄰黑色圓點的數(shù)目、形狀以及藝術(shù)想法等,劃分為不同的區(qū)域,每一個區(qū)域都保證可以使用上述列表中的素材進行替代。如下圖所示。

??最后,將擬定的素材替換到二維碼中規(guī)劃好的黃色區(qū)域。這一步需要邊替換邊檢查二維碼是否能夠被正常識別哦。


通過上述過程,就可以實現(xiàn)二維碼中黑色圓點的藝術(shù)化修改,打造一款自己需要主題的特色二維碼。看完整個過程,你是不是也心動了呢!


再|(zhì)來|幾|張





看完這些,是不是覺得創(chuàng)意二維碼并沒有那么難?是啊,有些事看起來很難,但是只要你想嘗試,去動手,去思考,問題就會迎刃而解啦~?

又是一年元旦到,祝各位粉絲擁有一個更加燦爛更加輝煌的2018!

算法數(shù)學(xué)之美微信公眾號歡迎賜稿

稿件涉及數(shù)學(xué)、物理、算法、計算機、編程等相關(guān)領(lǐng)域。

稿件一經(jīng)采用,我們將奉上稿酬。

投稿郵箱:math_alg@163.com

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的二维码原来可以这样玩的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。