博客專欄

EEPW首頁(yè) > 博客 > LabVIEW條形碼識(shí)別(實(shí)戰(zhàn)篇—5)

LabVIEW條形碼識(shí)別(實(shí)戰(zhàn)篇—5)

發(fā)布人:美男子玩編程 時(shí)間:2022-06-22 來源:工程師 發(fā)布文章

條形碼(Barcode)是將寬度不等的多個(gè)黑條和空白,按照一定的編碼規(guī)則排列,用以表達(dá)一組信息的圖形標(biāo)識(shí)符。常見的條形碼是由反射率相差很大的黑條(簡(jiǎn)稱條)和白條(簡(jiǎn)稱空)排成的平行線圖案。條形碼可以標(biāo)出物品的生產(chǎn)國(guó)、制造廠家、商品名稱等許多信息,因而在商品流通、圖書管理、郵政管理、****系統(tǒng)等許多領(lǐng)域都得到廣泛的應(yīng)用。


條形碼可分一維和二維兩大類。一維碼將寬度不等的多個(gè)黑條和空白按照一定的編碼規(guī)則排列,用來表示一組信息。常見的一維碼是由反射率相差很大的黑條和白條排成的平行線圖案,如下所示:


圖片

一維碼識(shí)別效果視頻如下所示:


不脫發(fā)的程序猿
,贊6

二維碼包括堆疊式條碼和矩陣式條碼兩大類,堆疊式條碼通過對(duì)多個(gè)一維碼堆疊構(gòu)成,矩陣式條碼則使用黑白矩形圖案表示數(shù)據(jù),如下所示:

圖片


二維碼識(shí)別效果視頻如下所示:


不脫發(fā)的程序猿
,贊8

條碼具有成本低、靈活易用、使用效率高和可靠性強(qiáng)等優(yōu)點(diǎn)。條碼制作僅僅需要印刷,識(shí)別設(shè)備的構(gòu)造也很簡(jiǎn)單,與其他自動(dòng)化識(shí)別技術(shù)相比,成本相當(dāng)?shù)土?。條碼符號(hào)可以手工鍵盤輸入,條碼識(shí)別設(shè)備操作簡(jiǎn)易,也可以和有關(guān)設(shè)備組成識(shí)別系統(tǒng)實(shí)現(xiàn)自動(dòng)化識(shí)別,或者和其他控制設(shè)備聯(lián)系起來實(shí)現(xiàn)整個(gè)系統(tǒng)的自動(dòng)化管理。條碼的讀取準(zhǔn)確率遠(yuǎn)遠(yuǎn)超過人工方式,平均每15 000個(gè)字符才會(huì)出現(xiàn)一個(gè)錯(cuò)誤。此外,條碼的讀取速度很快相當(dāng)于每秒40個(gè)字符。


1、一維碼識(shí)別


一維碼將多個(gè)寬度不同的豎直黑色條紋(Bar)和空白(Space)按一定的規(guī)則排列來表示信息,下圖顯示了一維碼的結(jié)構(gòu)示意圖:


圖片


其中,條碼的空白區(qū)在左、右兩端,一般來說它必須是窄條寬度的10倍以上,如果邊緣寬度不夠,條碼讀取器就無法對(duì)其數(shù)據(jù)進(jìn)行掃描。起止符是用于表示數(shù)據(jù)開始和結(jié)束的字符,它根據(jù)條碼類型不同而不同。有些采用A、B和D,有些則采用*。數(shù)據(jù)部分包括信息字符的條碼圖案,信息字符可以是數(shù)字、字母或其他特殊字符。校驗(yàn)位用于和讀取值中計(jì)算得到的數(shù)據(jù)進(jìn)行比較,以校驗(yàn)讀取值是否有錯(cuò),一般直接附在數(shù)據(jù)信息后。一維碼可由兩種或多種寬度的條紋和空白構(gòu)成,編碼時(shí)條紋和空白區(qū)域可以被離散或連續(xù)使用。


Nl Vision為一維碼的讀取提供了專門的函數(shù)IMAQ Read Barcode 2,它封裝了對(duì)條碼的復(fù)雜解碼過程。該函數(shù)位于LabVIEW的視覺與運(yùn)動(dòng)→Machine Vision→Instrument Readers函數(shù)選板中,如下圖所示:


圖片


函數(shù)說明及使用可參見幫助手冊(cè):

 

圖片


函數(shù)IMAQ Read Barcode 2可支持下表列出的各種類型的條碼。


圖片


由于交錯(cuò)式Code25碼、Code39碼和Code93碼并無校驗(yàn)位,因此在讀取這幾類條碼時(shí),可以關(guān)閉該函數(shù)的校驗(yàn)參數(shù)。此外,Pharmacode較為簡(jiǎn)單,其他條碼極容易被誤讀為此類條碼,因此在使用IMAQ Read Barcode 2函數(shù)讀取其他類型的條碼時(shí),一般要禁用它對(duì)Pharmacode的支持功能。


條碼圖像的分辨率、亮度漂移、條紋的灰度一致性和噪聲是影響IMAQ Read Barcode2讀取結(jié)果的幾個(gè)主要因素。條碼圖像的分辨率由條紋和空白區(qū)域的最小寬度來決定,一般來說它們的寬度不得少于3個(gè)像素才能被正確讀取。圖像的亮度漂移太大時(shí)也會(huì)影響讀取結(jié)果的正確性。


通過一個(gè)一維碼讀取實(shí)例,了解一維碼的應(yīng)用方法,程序設(shè)計(jì)思路如下所示:

  • While循環(huán)中的代碼會(huì)逐一讀取保存在Barcode文件夾中的各個(gè)圖像,然后使用IMAQ Read Barcode 2從圖像中搜索各類條碼的位置,并對(duì)它們進(jìn)行解碼;

  • 讀取過程結(jié)束后,F(xiàn)or循環(huán)中的代碼會(huì)對(duì)條碼的結(jié)果進(jìn)行解析,并將條碼的邊界矩形、條碼信息和類型以疊加圖層或數(shù)組的方式顯示到界面上。


程序?qū)崿F(xiàn)如下所示:


圖片


程序運(yùn)行效果如下所示:


圖片


2、二維碼識(shí)別


二維碼是對(duì)堆疊式條碼和矩陣式條碼的統(tǒng)稱。堆疊式條碼通過堆疊多個(gè)一維條碼構(gòu)成,矩陣式條碼則在一個(gè)矩形空間內(nèi)通過黑白圖案的不同分布對(duì)數(shù)據(jù)進(jìn)行編碼,如下圖所示:


圖片


一維碼僅使用一個(gè)方向上的條紋寬度代表數(shù)據(jù),通常最多包含30個(gè)字符。二維碼在水平和垂直方向上都包含數(shù)據(jù),最多可包含3000個(gè)字符。當(dāng)數(shù)據(jù)量相同時(shí),二維碼的尺寸要比一維碼小很多,因此它可印刷在空間有限的電子產(chǎn)品和其他小部件上。此外,矩陣式二維碼還引入了位置定位和容錯(cuò)機(jī)制,不僅可使用方框、L形框或?qū)iT的定位圖案可靠地探測(cè)條碼位置,還能在條碼有損的情況下(如有污漬)正確還原信息。


下圖顯示了QR碼的典型結(jié)構(gòu)示意圖,可以看出QR碼是一種典型的矩陣式二維碼主要由以下幾個(gè)部分構(gòu)成:

  • 空白區(qū)域(Quiet Zone);

  • 3個(gè)定位標(biāo)識(shí)(Finder Pattern) ;

  • 對(duì)準(zhǔn)標(biāo)志(Alignment Pattern);

  • 定時(shí)標(biāo)識(shí)(Timing Pattern) ;

  • 黑色和白色數(shù)據(jù)單元(Data Cell)和糾錯(cuò)碼(Error Check and Correction Cell);

  • 用于解碼的格式信息(Formatting Information)等。


圖片


QR碼是矩陣式二維碼的一種,其尺寸可包含21×21到177×177個(gè)數(shù)據(jù)單元。由于其右下角有對(duì)準(zhǔn)標(biāo)志,其他3個(gè)角上有定位標(biāo)志,因此可以從QR碼的任一方向?qū)ζ溥M(jìn)行快速讀取。QR碼內(nèi)置了錯(cuò)誤檢查和糾正(ECC)機(jī)制,它可以通過標(biāo)準(zhǔn)Reed-Solomon方案對(duì)污點(diǎn)、脫墨和數(shù)據(jù)丟失等條碼損壞按照4種不同糾錯(cuò)級(jí)別(L、M、Q、H)進(jìn)行恢復(fù)如下圖所示。數(shù)據(jù)的恢復(fù)率隨著所選的糾錯(cuò)級(jí)別不同各異(L級(jí)為7%、M級(jí)為15%、Q級(jí)為25%、H級(jí)為30%)。


圖片


通過一個(gè)QR碼讀取的實(shí)例,了解二維碼的應(yīng)用方法,程序設(shè)計(jì)思路如下所示:

  • 程序代碼結(jié)構(gòu)比較簡(jiǎn)單,在將包含QR碼的圖像讀入內(nèi)存后,就直接調(diào)用位于LabVIEW的視覺與運(yùn)動(dòng)→Machine Vision→Instrument Readers函數(shù)選板中的IMAQ Read QR Code函數(shù),從圖像中搜索單個(gè)或多個(gè)QR碼并對(duì)其進(jìn)行解碼。

  • 程序還通過記錄讀取前后的時(shí)間值來計(jì)算QR碼搜索和讀取過程的耗時(shí)。

    最后在圖像中用無損圖層標(biāo)出QR碼所在位置,并顯示圖像。


程序?qū)崿F(xiàn)如下所示:


圖片


程序運(yùn)行效果如下所示:


圖片


*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。

LCD顯示屏相關(guān)文章:lcd顯示屏原理


pic相關(guān)文章:pic是什么


電荷放大器相關(guān)文章:電荷放大器原理
lcd相關(guān)文章:lcd原理


關(guān)鍵詞: LabVIEW

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉