博客專欄

        EEPW首頁(yè) > 博客 > LabVIEW輪廓分析與比較(基礎(chǔ)篇—8)

        LabVIEW輪廓分析與比較(基礎(chǔ)篇—8)

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

        輪廓(Contour)是指可以在圖像中勾勒出目標(biāo)外形的一組相互連接的曲線(Curve)這些曲線由一系列目標(biāo)物的邊緣點(diǎn)組成。由曲線構(gòu)成的輪廓通常會(huì)勾勒出被測(cè)目標(biāo)的外形(Shape)。因此,基于提取的目標(biāo)輪廓,不僅可實(shí)現(xiàn)圖像分割,還能實(shí)現(xiàn)尺寸測(cè)量、缺陷檢測(cè)以及目標(biāo)的輪廓分析、匹配和輪廓分類等機(jī)器視覺應(yīng)用。


        例如,可以將觀測(cè)目標(biāo)的輪廓與輪廓模板或擬合的曲線進(jìn)行對(duì)比,以判斷目標(biāo)是否存在或?qū)ζ滟|(zhì)量進(jìn)行檢測(cè)。也可以通過檢測(cè)目標(biāo)輪廓的周長(zhǎng)、半徑、曲率和角度等關(guān)鍵尺寸信息來判定其是否合格。此類應(yīng)用的實(shí)現(xiàn)過程常涉及目標(biāo)的輪廓提取、輪廓匹配以及分類等技術(shù)。


        圖片


        Nl Vision為輪廓提取、輪廓比較和輪廓分析分類提供了專門的函數(shù)集,這些VI位于LabVIEW的視覺與運(yùn)動(dòng)→Machine Vision→Contour Analysis函數(shù)選板中,如下圖所示:


        圖片


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


        圖片


        IMAQ Extract Contour封裝了輪廓提取過程,包括種子點(diǎn)搜索、曲線追蹤、曲線連接和輪廓選擇幾個(gè)步驟。經(jīng)IMAQ Extract Contour可選出離搜索起點(diǎn)最近、長(zhǎng)度最長(zhǎng)或平均梯度最強(qiáng)的3類目標(biāo)輪廓,被提取出的輪廓信息會(huì)被附加在內(nèi)存中的圖像之后供后續(xù)處理過程使用。


        輪廓可以參與兩種比較運(yùn)算,一種是與基于輪廓像素點(diǎn)擬合得到的理想曲線進(jìn)行比較,另一種是與輪廓模板進(jìn)行比較。無論何種情況下進(jìn)行輪廓比較,都逐點(diǎn)比較輪廓與曲線或模板上對(duì)應(yīng)點(diǎn)之間的距離,并根據(jù)設(shè)定的距離范圍來判斷被測(cè)目標(biāo)輪廓的偏離。


        通過比較易拉罐的輪廓與基于輪廓像素?cái)M合得到的圓形曲線,并根據(jù)它們之間的最大距離來判斷易拉罐的質(zhì)量的案例,了解NI Vision自帶的輪廓與擬合曲線比較的使用方法,程序設(shè)計(jì)思路如下所示:

        • 程序一開始先從指定的文件夾中讀取待測(cè)圖像文件,然后使用IMAQ ExtractContour提取出環(huán)形ROI中最長(zhǎng)的易拉罐輪廓;

        • IMAQ Fit Contour則從文件中讀取出輪廓信息,并基于這些點(diǎn)擬合出圓形曲線。

          該圓形曲線作為判斷合格易拉罐的參照標(biāo)準(zhǔn)被保存在內(nèi)存中的圖像之后,供后續(xù)過程使用;

        • IMAQ Compute Contour Distances可以從內(nèi)存圖像數(shù)據(jù)中提取出輪廓和曲線信息,并計(jì)算它們之間的距離;

        • For循環(huán)檢查各個(gè)對(duì)應(yīng)點(diǎn)之間的距離是否超出設(shè)定的最大限度,并顯示距離曲線。

          若有任何兩點(diǎn)之間的距離超限,就將測(cè)試結(jié)果設(shè)置為Fail;

        • IMAQ Overlay Contour和Overlay Point withUser Specified Size.vi在圖像中通過無損圖層的形式顯示出輪廓,并標(biāo)出距離超限的輪廓點(diǎn)。


        程序設(shè)計(jì)如下所示:


        圖片


        通過運(yùn)行程序,調(diào)整While循環(huán)的延時(shí),可以觀察程序的運(yùn)行結(jié)果,效果如下所示:圖片


        因此在輪廓學(xué)習(xí)過程中,除了要收集標(biāo)準(zhǔn)位置的輪廓信息,還要基于標(biāo)準(zhǔn)的參考目標(biāo),計(jì)算縮放或旋轉(zhuǎn)情況目標(biāo)的輪廓信息,以支持視場(chǎng)中目標(biāo)輪廓的各種姿態(tài)。默認(rèn)情況下,Nl Vision可支持縮放量為原目標(biāo)的±25%,且在視場(chǎng)中360°旋轉(zhuǎn)的目標(biāo)。程序支持的旋轉(zhuǎn)角度和縮放比例越大,其執(zhí)行時(shí)間就會(huì)越長(zhǎng)。設(shè)計(jì)過程中,要根據(jù)實(shí)際情況盡可能限制旋轉(zhuǎn)角度和縮放比例,必要的時(shí)候還要與算法的速度進(jìn)行權(quán)衡取舍。


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



        關(guān)鍵詞: LabVIEW

        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 贺兰县| 襄汾县| 龙山县| 新晃| 水富县| 沙湾县| 郴州市| 镇雄县| 金坛市| 福清市| 日照市| 桐梓县| 若尔盖县| 汉中市| 安顺市| 建始县| 望江县| 铁岭市| 开鲁县| 巨鹿县| 宁武县| 手游| 金平| 资源县| 宁远县| 阳原县| 衡阳市| 新民市| 雅安市| 莫力| 赣榆县| 溆浦县| 延安市| 涞水县| 顺昌县| 新化县| 年辖:市辖区| 洛阳市| 平乐县| 桐柏县| 益阳市|