之前我們介紹了MV-EM130M工業(yè)相機(jī)的實(shí)時圖像獲取方法,本文再結(jié)合labview的圖像處理函數(shù)給出一種簡單的圖像處理VI。此處的圖像處理包括對圖像進(jìn)行采樣,找出與采樣點(diǎn)相同的圖像。為了找出角度放置的采樣點(diǎn),在查找的同時對圖像進(jìn)行了360°的翻轉(zhuǎn),這樣可以找出圖像上相同點(diǎn)。
由于軟件的運(yùn)行比較復(fù)雜,數(shù)據(jù)的采集又是實(shí)時的,要求處理速度比較快,所以要對其進(jìn)行整體設(shè)計(jì),合理安排控件的調(diào)用和執(zhí)行順序。本程序中采用了一個大循環(huán),保持程序的持續(xù)運(yùn)行。在內(nèi)部再調(diào)用一個順序結(jié)構(gòu)來控制程序的執(zhí)行順序,這樣可以確保程序按編程者的思路進(jìn)行。
圖像采集&整個程序流程圖
讀取了圖像數(shù)據(jù)后,還要設(shè)置查找的像素。這里通過一個光標(biāo)選擇函數(shù)來實(shí)現(xiàn)。先用函數(shù)IMAQ Setup Learn Pattern 2來設(shè)置需要記錄的各項(xiàng),然后再用IMAQ Extract函數(shù)進(jìn)行光標(biāo)設(shè)置。這樣就記錄了此光標(biāo)區(qū)域的圖像數(shù)據(jù)。
設(shè)置查找像素
這里用一個條件結(jié)構(gòu)來控制是否進(jìn)入記錄像素的程序,也就是當(dāng)選擇了要記錄的像素后,才進(jìn)入此分支程序。在這一分支程序中,又利用了一個順序結(jié)構(gòu),這樣提高了程序運(yùn)行的效率。
復(fù)位記錄按鈕
當(dāng)設(shè)置完以上要查找的像素后,就可以在需要的圖片中查找此像素。為了查找有用的像素,在選擇了“開始查找”后,要先讀取上面標(biāo)記的像素,再進(jìn)行查找。此處程序的設(shè)計(jì)中,也是先運(yùn)行一個條件結(jié)構(gòu),再運(yùn)行順序結(jié)構(gòu),按順序執(zhí)行程序。
讀取選擇的像素
當(dāng)讀取像素后,利用順序結(jié)構(gòu)在第二幀的圖像中繼續(xù)查找。在這一幀中放置了一個循環(huán),并限制循環(huán)次數(shù)為4。此時先用一個IMAQ Rotate對圖像進(jìn)行翻轉(zhuǎn),每次翻轉(zhuǎn)90°。這樣就可以在循環(huán)4次時翻轉(zhuǎn)一周,對圖像上各個角度的像素進(jìn)行查找。再把圖像送到IMAQ Match Pattern 2函數(shù),對其進(jìn)行查找。通過此函數(shù)直接輸出找到的像素信息的數(shù)組。為了對找到的信息進(jìn)行處理,又用一個For循環(huán)對此數(shù)據(jù)和簇進(jìn)行拆分。
程序編寫完成后,要對系統(tǒng)進(jìn)行軟硬件的聯(lián)機(jī)調(diào)試。這里把維視圖像的MV-EM130M工業(yè)相機(jī)用網(wǎng)線和計(jì)算機(jī)連接,并在計(jì)算機(jī)上安裝驅(qū)動程序。具體操作如下:
(1)運(yùn)行本程序,在攝像頭下放置好一塊電路板,并對其設(shè)置好焦距和亮度。單擊“開始采集”按鈕,對其進(jìn)行采集,并顯示實(shí)時采集到的圖像。
圖像采集
(2)當(dāng)采集完一次后,在界面上可以看到清晰的采集結(jié)果。此時我們用光標(biāo)在需要進(jìn)行識別的地方畫出一個區(qū)域。此時光標(biāo)變?yōu)榫G色,表示用光標(biāo)選中了要記錄的像素。然后單擊“學(xué)習(xí)標(biāo)記”按鈕,此光標(biāo)消失,表示已經(jīng)記錄(學(xué)習(xí))完成。這里選中的是電路板上字母C,讓程序?qū)W習(xí)記錄,并找出界面上所有的字母C。
設(shè)置學(xué)習(xí)區(qū)域
(3)記錄學(xué)習(xí)完成后,就可以查找相同像素的點(diǎn)了。單擊“開始查找”按鈕后,程序開始在此圖上查找記錄的像素點(diǎn),并以此像素點(diǎn)為標(biāo)準(zhǔn),進(jìn)行比對,找出相同的點(diǎn)。查找的過程中標(biāo)出了各個點(diǎn)的坐標(biāo)和編號。這里把標(biāo)簽類型設(shè)置為“A”,以Shift Invariant的方式查找,精度設(shè)置為700,最大數(shù)目設(shè)置為40。這樣就可找出所有相同的元素。
查找結(jié)果
從圖中可以看出,查找過程中,程序找出了所有字母C,并標(biāo)注了它們的坐標(biāo)和標(biāo)簽。此處的標(biāo)簽有些不是端正的,主要是由于在對圖片進(jìn)行翻轉(zhuǎn)查找時,按相應(yīng)的角度找到后直接就標(biāo)記了。如標(biāo)簽A43(70,471)表示的意義如下:字母A是對程序進(jìn)行查找前設(shè)置的標(biāo)簽類型。4表示此圖片翻轉(zhuǎn)到第4次找到的,即第4個角度。3表示是此角度下的第3個點(diǎn)。(70,471)表示當(dāng)前查找到像素的中心坐標(biāo),即此目標(biāo)的X=70,Y=471,坐標(biāo)的值是從圖像開始的左上角界面算起的。同時可以看到界面的下面顯示了圖片的屬性,如圖片大小、位數(shù)等。最后還可以看到一個“已查找到總個數(shù)”本框,此處顯示的是8個目標(biāo)。這和圖上標(biāo)注的一樣,也和實(shí)際相符。
從以上的例程可以看出,使用可直接兼容labview驅(qū)動的工業(yè)相機(jī)在labview中做圖像處理是較方便和高效的。
原文標(biāo)題:LabVIEW如何圖像識別與處理?一文教你視覺系統(tǒng)完整設(shè)計(jì)思路
文章出處:【微信公眾號:電子發(fā)燒友網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
責(zé)任編輯:haq
-
圖像識別
+關(guān)注
關(guān)注
9文章
514瀏覽量
38159
原文標(biāo)題:LabVIEW如何圖像識別與處理?一文教你視覺系統(tǒng)完整設(shè)計(jì)思路
文章出處:【微信號:elecfans,微信公眾號:電子發(fā)燒友網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論