今兒 講一講二維碼 這里我提幾個問題 為難你們一下 1.二維碼的識別原理是什么 2.能不能自己畫一個可識別的二維碼 3.二維碼為什么沒有重復的 4.為什么奇形怪狀的二維碼也能掃 不知道你們對天天用的二維碼知道多少 這里我先從最基礎(chǔ)的講吧 首先,二維碼這個東西 他的前身是條形碼 條形碼最初叫做一維碼 然后經(jīng)過改良之后就叫條形碼了 條形碼一般就是用在 食品包裝上什么的 經(jīng)常要用的也就是超市收銀員 導致無法真正的像二維碼一樣 融入我們的生活之中 關(guān)于二維碼 三個角上的那個塊 他叫做碼眼 這個碼眼是二維碼的定位區(qū) 是二維碼上最重要的一個東西 如果沒有他的話 你的攝像頭是認不出來 你給他看的是什么玩意的 但是碼眼不管你怎么放 只要有,就能夠識別出來 那么除了二維碼 剩下的地方就是信息存儲區(qū)了 一個小方塊是一個單位 深色的部分是有效信息區(qū) 淺色的部分是無效信息區(qū) 也就是背景 那么二維碼的識別原理是什么呢 我們常見的是一種QR制的 二維碼 我們以他為例 二進制都知道吧 里面只有0和1 當你掃描二維碼的時候 ![]() 在識別程序的眼中 二維碼的黑色小方塊是1白色為0 然后他就能根據(jù)二維碼里的 小方塊轉(zhuǎn)換成你需要的東西 ![]() 而且,這種QR制的二維碼 他是有容納錯誤的能力的 就比如說你出去吃飯 結(jié)賬的時候看到的 二維碼,有的二維碼由于用的時間長 都臟的不像樣子了 但是你還是能夠掃出來 ![]() 你平時見到的那種 中間有個圖標的二維碼 并不是二維碼在生成的時候 特地給圖標讓出來的 而就算因為二維碼有個容納錯誤的能力 我們稱它為容錯率 ![]() 如上圖 可以看出來,越復雜的二維碼 他的容錯率也就越高 接下來我說一下 二維碼會不會有重復的 嗯.. ... 直接說吧 二維碼 不會有重復的 為什么呢 因為二維碼是一種編碼 是根據(jù)你的信息生成的 并不是現(xiàn)場給他 隨機生成一個的糊弄你的 ![]() 這也就是說 你生成二維碼使用的信息不同 那么他生成出來的二維碼就 不可能會相同 ![]() 最小的二維碼 是由21*21的方格組成的 是2的441次方 最大的是177*177 是2的31329次方 這里給你們算一下最小的 ![]() 怎么說呢 數(shù)字實在是太大了,而且這還只是 最小的一種 那么所有的二維碼 可能我們掃到宇宙爆炸都掃不完 并且以后說不定,還會有新的碼出現(xiàn) 另外,你們有興趣可以算一算 按照一天用一百億個二維碼 這個21*21的二維碼能用多久 ![]() 那么來進行下一個問題 |
|