手把手教你使用LabVIEW人工智慧視覺工具包快速實現傳統Opencv運算元的調用(含源碼)
- 2022 年 9 月 28 日
- 筆記
- LabVIEW, Labview_Deep Learn, 機器視覺, 深度學習
前言
今天我們一起來使用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 機器學習