手把手教你使用LabVIEW人工智慧視覺工具包快速實現傳統Opencv運算元的調用(含源碼)

前言

今天我們一起來使用LabVIEW AI視覺工具包快速實現影像的濾波與增強;影像灰度處理;閾值處理與設定;二值化處理;邊緣提取與特徵提取等基本操作。工具包的安裝與下載方法可見之前的部落格

一、影像濾波與增強

有時候我們想要處理的影像中噪音太多,影響到我們的識別判斷,我們就需要對影像進行模糊處理,使影像變得平滑。而LabVIEW AI視覺工具包提供給我們filter 2d運算元可以對影像進行2D卷積,我們可以使用自定義的卷積核來對影像進行卷積操作。該運算元輸入輸出如下所示:

在這裡插入圖片描述

影像內核是一個小矩陣,在Photoshop或Gimp中找到的效果都可以實現,例如模糊,銳化,輪廓或浮雕。它們還用於機器學習中的「特徵提取」,這是一種用於確定影像最重要部分的技術。在這種情況下,該過程更普遍地稱為「卷積」,調用filter 2d運算元配合不同卷積核實現影像濾波和增強的程式如下: 在這裡插入圖片描述 在前面板選擇不同的卷積核可以實現不同的效果:

在這裡插入圖片描述

不同卷積核效果如下:

1.模糊(blur)

在這裡插入圖片描述

2.索貝爾(sobel),僅顯示特定方向上相鄰像素值的差異,從上往下,從暗處到亮處增強顯示

在這裡插入圖片描述

3.浮雕(emboss),通過強調像素的差在給定方向的Givens深度的錯覺,從左上往右下,從暗處到亮處增強顯示:

在這裡插入圖片描述

4.大綱(outline),一個輪廓內核(也稱為「邊緣」的內核)用於突出顯示的像素值大的差異,輪廓的增強顯示

在這裡插入圖片描述

5.銳化(sharpen),該銳化內核強調在相鄰的像素值的差異。這使影像看起來更生動

在這裡插入圖片描述

6.拉普拉斯運算元(laplacian operator),可以用於邊緣檢測,對於檢測影像中的模糊也非常有用。

在這裡插入圖片描述

7.分身(identity)就是原圖

在這裡插入圖片描述

二、影像灰度處理

之前我們說過,LabVIEW默認使用BGR讀取影像,所以我們將圖片轉化為灰度圖使用cvtColor運算元,參數選擇:BGR2GRAY,如下圖所示: 在這裡插入圖片描述

程式結果如下:

在這裡插入圖片描述 我們可以看到程式中使用了calHist用以繪製圖片通道直方圖,並以波形圖顯示出來;calHist函數參數具體如下:

在這裡插入圖片描述

波形圖顯示控制項:前面板右鍵–>Graph–>Waveform Graph;

在這裡插入圖片描述

直接讀取原圖顯示程式如下:

在這裡插入圖片描述

程式結果如下:

在這裡插入圖片描述

三、閾值處理與設定

如下程式通過設定閾值,實現將其他顏色全部過濾,只保留紅藍綠三種顏色:

在這裡插入圖片描述

程式結果如下:

在這裡插入圖片描述

threshold運算元參數分析:

在這裡插入圖片描述 在這裡插入圖片描述

四、二值化處理

將圖片先轉化為灰度圖,再進行二值化,程式如下:

在這裡插入圖片描述

設置閾值和最大值,二值化之後的程式結果如下:

在這裡插入圖片描述

五、邊緣提取

如下程式為使用findContours實現邊緣提取:

在這裡插入圖片描述

程式實現效果如下:

在這裡插入圖片描述

六、角點檢測

1.使用cornerMinEigenVal運算元

角點檢測程式如下:

在這裡插入圖片描述

程式結果如下:

在這裡插入圖片描述

2.使用cornerHarris運算元

角點檢測程式如下:

在這裡插入圖片描述

程式結果如下:

在這裡插入圖片描述

七、源碼下載

鏈接://pan.baidu.com/s/1Ua00IwcLGFoFtXAWKDGW_w 提取碼:8888

總結

具體源碼詳細請見下載鏈接。 更多關於LabVIEW與人工智慧技術,可添加技術交流群進一步探討。 qq群號:705637299,請備註暗號:LabVIEW 機器學習