前言
今天我們一起來使用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算子參數分析:
四、二值化處理
將圖片先轉化為灰度圖,再進行二值化,程序如下:
設置閾值和最大值,二值化之后的程序結果如下:
五、邊緣提取
程序實現效果如下:
六、角點檢測
1.使用cornerMinEigenVal算子
角點檢測程序如下:
程序結果如下:
2.使用cornerHarris算子
角點檢測程序如下:
程序結果如下:
七、源碼下載
鏈接:https://pan.baidu.com/s/1Ua00IwcLGFoFtXAWKDGW_w
提取碼:8888
總結
具體源碼詳細請見下載鏈接。
-
LabVIEW
+關注
關注
1973文章
3654瀏覽量
324007 -
人工智能
+關注
關注
1791文章
47344瀏覽量
238728 -
OpenCV
+關注
關注
31文章
635瀏覽量
41372 -
深度學習
+關注
關注
73文章
5504瀏覽量
121217 -
labview教程
+關注
關注
15文章
34瀏覽量
7354
發布評論請先 登錄
相關推薦
評論