<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
"); //-->

博客專(zhuān)欄

EEPW首頁(yè) > 博客 > LabVIEW儀表盤(pán)識別(實(shí)戰篇—6)

LabVIEW儀表盤(pán)識別(實(shí)戰篇—6)

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

機器視覺(jué)系統中常需要從各類(lèi)儀表的顯示屏圖像中提取其讀數。這些儀表的顯示屏可以分為模擬指針顯示屏、LCD顯示屏和LED顯示屏等。


圖片


觀(guān)察模擬儀表可以發(fā)現,它們的刻度被標記在一個(gè)由初始值和滿(mǎn)量程值限定的圓弧范圍內,儀表的指針基于圓弧的圓心旋轉以指示當前值。由此不難想到先使用兩條標記初始值和滿(mǎn)量程值的線(xiàn)段,加上一個(gè)標記圓心位置的點(diǎn)來(lái)校準儀表,然后就可以檢測指針的位置,并通過(guò)該位置占滿(mǎn)量程的比例來(lái)確定當前讀數。三點(diǎn)法是另一種校準此類(lèi)儀表的方法。它在儀表初始值、滿(mǎn)量程值位置上分別選擇一點(diǎn),再選擇指針旋轉的圓心,這樣圓心點(diǎn)即可與其他兩點(diǎn)分別構成線(xiàn)段來(lái)實(shí)現儀表校準。

指針型顯示屏常用于速度表、流量表、電壓和電流表等,如下所示:


圖片


儀表讀取功能還能從具有LCD/LED顯示屏的儀表中檢測包含單個(gè)或多個(gè)七段數碼管類(lèi)型數字的區域,并讀取包括小數點(diǎn)等分隔符的數值。


LCD/LED顯示屏則常采用7段數碼管來(lái)顯示數據,如下所示:


圖片


Nl Vision提供了讀取上述幾種儀表顯示的函數,它們對復雜的算法進(jìn)行了封裝,位于LabVIEW的視覺(jué)與運動(dòng)→Machine Vision→Instrument Readers函數選板中,如下圖所示:


圖片


其中IMAQ Get Meter、IMAQ Get Meter 2和IMAQ ReadMeter用于讀取模擬儀表的讀數,IMAQ Get LCD ROI、IMAQ Read LCD和IMAQRead Single Digit用于讀取使用7段數碼管類(lèi)型的LCD/LED儀表的讀數。


函數說(shuō)明及使用可參見(jiàn)幫助手冊: 


圖片


1、模擬儀表識別


基于NI Vision的儀表讀取函數可快速構建需要讀取儀表值的機器視覺(jué)系統。通過(guò)一個(gè)儀表讀取函數讀取油表顯示值的實(shí)例,了解模擬儀表識別的應用。


整個(gè)過(guò)程可分為學(xué)習和讀數兩個(gè)階段。在學(xué)習階段,程序先使用兩個(gè)IMAQ Convert Line to ROI函數指定了儀表的初始值和滿(mǎn)量程值位置。隨后IMAQ Group ROI對兩個(gè)線(xiàn)段ROI進(jìn)行組合,作為儀表學(xué)習函數IMAQ Get Meter的輸入。學(xué)習過(guò)程完成后,會(huì )輸出儀表指針的旋轉中心位置和一個(gè)數組。其中數組元素代表儀表初始值和滿(mǎn)量程值之間一條沿著(zhù)刻度的弧線(xiàn)上各點(diǎn)的位置,這些點(diǎn)將用于在讀數階段計算儀表的讀數。


讀數階段基于學(xué)習階段的輸出來(lái)完成,IMAQ Read Meter可以通過(guò)檢測儀表指針的位置來(lái)確定當前讀數所在位置占滿(mǎn)量程的百分比。而基于該百分比和滿(mǎn)量程值,就可以計算儀表的真實(shí)讀數。


程序設計如下所示:


圖片


程序運行結果中,除了顯示讀數值,還在圖像中顯示了ROI、學(xué)習過(guò)程所返回數組中的各點(diǎn)以及指針指向的位置,效果如下所示:


圖片


2、LCD/LED顯示屏識別


IMAQ Get LCDROI、IMAQ Read LCD可檢測包含多個(gè)七段數碼管類(lèi)型數字的區域,并讀取包括小數點(diǎn)等分隔符在內的數值。IMAQ Read Single Digit則用于讀取單個(gè)七段數碼管類(lèi)型的數值。與讀取模擬儀表數值的過(guò)程類(lèi)似,讀取LCD儀表數值的過(guò)程也包括學(xué)習和讀數兩個(gè)階段。


學(xué)習階段需要基于所有數字的七段數碼管全部打開(kāi)時(shí)的圖像(全部為數字8)來(lái)定位各個(gè)數字所在的矩形范圍。讀數階段則通過(guò)分析7段數碼管數字各段的線(xiàn)灰度分布以確定讀數結果。


下圖顯示了儀表讀取函數基于線(xiàn)灰度分布識別LCD/LED數碼管顯示的原理,其中數字為各段數碼管的索引。


圖片


上圖(a)顯示了背景為白色且七段數碼管全部打開(kāi)時(shí)的情況,其中數字為各段數碼管的索引。假定已在學(xué)習階段從圖像中確定了各個(gè)數字所在的矩形位置,就可以在水平和豎直方向上設置與各段數碼管交叉的線(xiàn)段型ROI,用于后續分析。


由于數碼管關(guān)閉時(shí),其圖像灰度與背景灰度接近,因此線(xiàn)ROI灰度曲線(xiàn)上的像素值分布較為集中。而數碼管打開(kāi)時(shí),因數碼段圖像灰度與背景反差較大,線(xiàn)ROI灰度曲線(xiàn)上的像素值分布較為分散,如上圖(b)所示。


標準差可用來(lái)衡量一組數據的分散程度,因此通過(guò)計算線(xiàn)ROI上像素灰度的標準差,并為其設置閾值即可判斷數碼管的開(kāi)閉。綜合考慮7個(gè)數碼管的各種開(kāi)閉組合,就能得到其顯示的數值。而重復該過(guò)程就能讀取LCD顯示屏中的多個(gè)數字。

由于LCD/LED儀表讀取函數基于線(xiàn)灰度分布來(lái)判斷數碼管的開(kāi)閉,因此圖像的亮度漂移(Light Drift)、對比度、噪聲和分辨率將直接影響其讀數的準確性。


圖片


通過(guò)一個(gè)讀取LCD儀表顯示值的實(shí)例,了解LCD/LED顯示屏識別的應用方法,程序設計思路如下所示:

  • 程序總體上可分為使用IMAQ Get LCDROI的學(xué)習和使用IMAQ Read LCD的讀數兩大部分。

  • 程序開(kāi)始先讀入儀表所有數字均為8時(shí)的圖像LCD0.jpg,并調用IMAQ Get LCD ROI,從指定的矩形ROI中搜索各個(gè)7段數碼管數字所在的矩形位置;

  • 一旦獲得各個(gè)數字位置所在的范圍,程序就讀取待測圖像LCD1.jpg,調用IMAQ Read LCD分析各個(gè)數字所在的范圍內7個(gè)數碼管的顯示情況,以判斷最終讀數;

  • 儀表學(xué)習和讀取過(guò)程均使用線(xiàn)灰度分布的標準差閾值Threshold來(lái)判斷數碼管的開(kāi)閉,而且IMAQ Read LCD還支持數字的+/-符號和小數點(diǎn)的讀??;

  • IMAQ Read LCD以浮點(diǎn)數、字符串以及元素為圖形的數組返回所讀取到的值,其中字符串中的每個(gè)字符用小數點(diǎn)進(jìn)行分割。


程序實(shí)現如下所示:


圖片


 程序運行效果如下所示:


圖片


儀表和條碼讀取是機器視覺(jué)系統的常用功能。常見(jiàn)的各類(lèi)儀表可按顯示方式分為模擬指針顯示屏、LCD顯示屏和LED顯示屏等幾大類(lèi)。


機器視覺(jué)系統可以使用雙線(xiàn)法或三點(diǎn)法,對模擬顯示屏類(lèi)型的儀表進(jìn)行校準和讀取。對七段數碼管類(lèi)型顯示數字的LCD/LED儀表的讀取,可以通過(guò)分析數字所在區域的線(xiàn)灰度分布來(lái)實(shí)現。數碼管關(guān)閉時(shí),灰度曲線(xiàn)上的像素值分布較為集中,反之則分布較為分散。在讀取儀表過(guò)程中,應考慮圖像的亮度漂移、對比度、噪聲和分辨率對讀數準確性的影響。



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

汽車(chē)防盜機相關(guān)文章:汽車(chē)防盜機原理


關(guān)鍵詞: LabVIEW

相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>