官术网_书友最值得收藏!

2.2 二維碼的編碼與識別

二維碼(2-dimensional bar code)是用某種特定的幾何圖形按一定規律在平面(二維方向上)分布的黑白相間的圖形記錄數據符號信息的。在許多種類的二維條碼中,常用的碼制有:Data Matrix、Maxi Code、Aztec、QR Code、Vericode、PDF417、Ultracode、Code 49、Code 16K等。本節將以最常用的QR碼為例,介紹二維碼的編碼與識別原理。

2.2.1 解密:二維碼的編碼

QR碼(Quick-Response code)是被廣泛使用的一種二維碼,解碼速度非??臁H鐖D2-3所示為一個QR碼的基本編碼結構,其中包含以下內容。

圖2-3 QR碼的基本編碼結構

(1) 位置探測圖形、位置探測圖形分隔符、定位圖形。用于對二維碼的定位,對每個QR碼來說,位置都是固定存在的,只是大小規格會有所差異。

(2) 校正圖形。二維碼的規格確定后,校正圖形的數量和位置也就確定了。

(3) 格式信息。表示二維碼的糾錯級別,分為L、M、Q、H四個級別。

(4) 版本信息。即二維碼的規格,QR碼符號共有40種規格的矩陣(一般為黑白色),從21×21(版本1)到177×177(版本40),每一版本符號比前一版本的每一個邊都增加4個模塊。

(5) 數據和糾錯碼字。實際保存的二維碼信息和糾錯碼字(用于修正二維碼損壞帶來的錯誤)。

簡要的編碼過程包括:數據分析、數據編碼、糾錯編碼、構造矩陣、掩模、生成格式和版本信息。

2.2.2 解密:二維碼的識別

通過圖像的采集設備(智能手機、激光掃描器、面陣CCD、數碼相機等成像設備),得到含有條碼的圖像,此后主要經過條碼定位(預處理、定位、角度糾正和特征值提?。?、分割和解碼3個步驟實現二維碼的識別。

下面以QR碼為例,介紹二維碼的識別過程。

圖2-4 QR碼的定位圖形

(1) 定位條碼:找到條碼符號的圖像區域,對有明顯條碼特征的區域進行定位,然后根據不同條碼的定位圖形結構特征對條碼符號進行下一步的處理。圖2-4所示為QR碼的定位圖形。

(2) 分割條碼:經過邊緣檢測后,由于條碼區域的邊界不是很完整,所以需要進一步修正邊界,然后分割出一個完整的條碼區域。

(3) 糾錯譯碼:通過定位與分割操作,得到一幅標準的條碼圖像后,對該符號進行網格采樣,對網格每一個交點上的圖像像素取樣,并根據閾值確定是深色塊還是淺色塊。然后構造一個位圖,用二進制的1表示深色像素,0表示淺色像素,從而得到條碼的原始二進制序列值,然后對這些數據進行糾錯和譯碼,最后根據條碼的邏輯編碼規則把這些原始的數據位流轉換成數據碼字,即將碼字圖像符號換成ASCII碼字符串。

主站蜘蛛池模板: 惠东县| 灌南县| 昌吉市| 鄯善县| 龙山县| 绥化市| 昭苏县| 卢湾区| 合作市| 平果县| 缙云县| 读书| 新丰县| 东海县| 大余县| 阳谷县| 大理市| 富顺县| 旬邑县| 英吉沙县| 汉川市| 永兴县| 申扎县| 达尔| 西乡县| 武功县| 英德市| 封丘县| 苏州市| 渑池县| 弋阳县| 汉寿县| 崇义县| 台东县| 卫辉市| 嘉兴市| 额济纳旗| 襄樊市| 辽宁省| 汝城县| 根河市|