LabVIEW轮廓分析与比较(基础篇—8)
輪廓(Contour)是指可以在圖像中勾勒出目標外形的一組相互連接的曲線(Curve)這些曲線由一系列目標物的邊緣點組成。由曲線構成的輪廓通常會勾勒出被測目標的外形(Shape)。因此,基于提取的目標輪廓,不僅可實現圖像分割,還能實現尺寸測量、缺陷檢測以及目標的輪廓分析、匹配和輪廓分類等機器視覺應用。
例如,可以將觀測目標的輪廓與輪廓模板或擬合的曲線進行對比,以判斷目標是否存在或對其質量進行檢測。也可以通過檢測目標輪廓的周長、半徑、曲率和角度等關鍵尺寸信息來判定其是否合格。此類應用的實現過程常涉及目標的輪廓提取、輪廓匹配以及分類等技術。
Nl Vision為輪廓提取、輪廓比較和輪廓分析分類提供了專門的函數集,這些VI位于LabVIEW的視覺與運動→Machine Vision→Contour Analysis函數選板中,如下圖所示:
?函數說明及使用可參見幫助手冊:?
IMAQ Extract Contour封裝了輪廓提取過程,包括種子點搜索、曲線追蹤、曲線連接和輪廓選擇幾個步驟。經IMAQ Extract Contour可選出離搜索起點最近、長度最長或平均梯度最強的3類目標輪廓,被提取出的輪廓信息會被附加在內存中的圖像之后供后續處理過程使用。
輪廓可以參與兩種比較運算,一種是與基于輪廓像素點擬合得到的理想曲線進行比較,另一種是與輪廓模板進行比較。無論何種情況下進行輪廓比較,都逐點比較輪廓與曲線或模板上對應點之間的距離,并根據設定的距離范圍來判斷被測目標輪廓的偏離。
通過比較易拉罐的輪廓與基于輪廓像素擬合得到的圓形曲線,并根據它們之間的最大距離來判斷易拉罐的質量的案例,了解NI Vision自帶的輪廓與擬合曲線比較的使用方法,程序設計思路如下所示:
- 程序一開始先從指定的文件夾中讀取待測圖像文件,然后使用IMAQ ExtractContour提取出環形ROI中最長的易拉罐輪廓;
- IMAQ Fit Contour則從文件中讀取出輪廓信息,并基于這些點擬合出圓形曲線。該圓形曲線作為判斷合格易拉罐的參照標準被保存在內存中的圖像之后,供后續過程使用;
- IMAQ Compute Contour Distances可以從內存圖像數據中提取出輪廓和曲線信息,并計算它們之間的距離;
- For循環檢查各個對應點之間的距離是否超出設定的最大限度,并顯示距離曲線。若有任何兩點之間的距離超限,就將測試結果設置為Fail;
- IMAQ Overlay Contour和Overlay Point withUser Specified Size.vi在圖像中通過無損圖層的形式顯示出輪廓,并標出距離超限的輪廓點。
程序設計如下所示:
通過運行程序,調整While循環的延時,可以觀察程序的運行結果,效果如下所示:
項目資源下載:https://download.csdn.net/download/m0_38106923/19854388
目標的輪廓也可以與輪廓模板進行比較。與擬合曲線比較的過程不同,在與輪廓模板進行比較之前,需要先收集標準參考圖像中的輪廓模式特征信息,生成輪廓模板,并將其添加在標準參考圖像之后以備后用。該過程稱為輪廓的學習(Learning)過程。實際檢測的目標并不都與標準參考圖像中的目標相同,而是可能進行了縮放(Scale)、旋轉(Rotate)或交疊(Occlusion),如下圖所示:
因此在輪廓學習過程中,除了要收集標準位置的輪廓信息,還要基于標準的參考目標,計算縮放或旋轉情況目標的輪廓信息,以支持視場中目標輪廓的各種姿態。默認情況下,Nl Vision可支持縮放量為原目標的±25%,且在視場中360°旋轉的目標。程序支持的旋轉角度和縮放比例越大,其執行時間就會越長。設計過程中,要根據實際情況盡可能限制旋轉角度和縮放比例,必要的時候還要與算法的速度進行權衡取舍。
總結
以上是生活随笔為你收集整理的LabVIEW轮廓分析与比较(基础篇—8)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于FPGA系统合成两条视频流实现3D视
- 下一篇: 如何设计恒流源输出电路?