NI眾多模組功能中,影像處理也是現階段工業上使用廣泛的一項功能,藉由擷取影像來檢查物體、收尋特徵、辨識物件並達到量測的相關功能,而機器視覺的開發是在LabVIEW 2012版本中才新增的功能,也可和多種程式設計語言如C、C++、VB等應用結合。雖然現階段仍無專門屬於LabVIEW中影像處理的教材,但仍可在NI官網中找到影像處理的基本概念,而程式撰寫則仍須收尋相關範例程式。
要能夠使用影像處理模組時,必須下載機器視覺開發(Vision Development)模組,NI Vision Assistant皆可至官網下載,Vision Assistant已經含有相關可處理影像的原形程式碼也就是能不透過完全撰寫程式的方式來達到影像處理,當然程式撰寫較能貼近功能端看個人需求。
1.辨識少不了的就是攝影機,藉由攝影機擷取圖像可達到靜態物件辨識、動態物件追蹤等相關應用
Ex1.開啟攝影機
當灌完模組後,即可使用一般市售的攝影機進行影像處理,而cam0表示你攝影機在裝置管理員中所表示的位置,會有所不同
Ex2.32bit轉換U8灰階圖
由於直接從彩色圖會耗掉相當大的處理系統,且一般影像處理中多半針對某一特徵做辨識、擷取、標記等,而轉換成灰階圖將可方便的做後續處理。下圖中為RGB利用HSL方式進行灰階處理,而處理方式也根據使用者需求來做變化。
Ex3.灰階強度辨識
將圖片從彩色變成灰階圖時,以往都會使用邊界處理(0或1)取得輪廓、或是辨識同灰階之標的物,所以分析灰階變得相當重要,藉由0~255灰階圖的分析過濾已不需要的物體。下圖是利用選取範圍的方式來表示灰階直方圖。使用者也能直接將灰階圖直接呈現所有分布
Ex4.物件標記
在Ex3中知道閥值分析的重要,接著在物件上標記,就可進一步分析目標之面積、真圓度或是平均值運算取出中心位置等相關量測應用。
Ex5.邊緣檢測-四通道&八通道
經過灰階處理後接著可利用邊緣檢測得到物體的輪廓,在邊緣檢測中有許多的方式如:canny、Sobel、Prewitt等運算元做處理,如要詳細的應用原理可參考matlab在影像應用的參考書,當然也可自行設計屬於自己應用的邊緣檢測處理。下面是兩種簡易設計運算方式。
Ex6.邊緣檢測-Canny
利用Vision既有的Canny檢測來對圖做檢測,而sobel、prewitt則需自行設計。左側三項參數的調整可達到所想要的目標。
Ex7.圖像標示文字
在灰階圖中,可在需要地方加入文字或圖樣。加以區別或說明目標物。
Ex8.物體樣本辨識
此範例為NI example 範例程式當中,主要藉由顏色的學習辨認,來對一系列同樣產品做出辨識,藉以判斷出是否瑕疵。同樣除了顏色之外也能對形狀做出辨別,只需再判斷前先讓程式知道說這是何種物體。
Ex9.動態物體顏色辨識
先前提到Vision Assistant之方式,此次利用攝影機辨識動態物體之方式與Ex8類似,一樣須先建立顏色辨識體也就是建立一個樣品,讓之後的接續而來的顏色體加以辨認,同樣也可以建立形狀之識別。
待續~~~以上為LabVIEW在基礎機器視覺上應用,後續的Vision Assistant的使用上將可使視覺處理變得更容易,如有需要程式或程式取至網路資源如有極度雷同 ~請告之~3Q

您好,這篇文章使我受益良多,目前寫大學專題需要用到相關的vi,不知可否提供上述的vi給我參考呢?謝謝您!
原有的程式接出至於LABVIEW內部的example... 我之前電腦重灌程式都沒留下來了~~
我的信箱 groovyhippies@gmail.com
原有程式已不再了喔!!!