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