matlab 獲取影象輪廓兩種方法
在影象的視覺特徵研究領域,形狀特徵因更接近人的視覺特點,一直是人們的研究重點,而形狀的邊緣又反映出很多資訊,所以在研究影象的特徵時有必要提取其邊緣輪廓以便以後的深入分析。
matlab中有很多整合的邊緣函式,可以很方便的提取影象的邊緣。今天小沙就為大家介紹一下。
使用beperim方法
(01)matlab中有提取圖形輪廓的函式bwperim。但其只針對二值影象,所以需要先對灰度影象進行二值化,選定合適的閾值進行二值化。I = imread(x27;1.jpg');BW = im2bw(I,0.4);BW2 = bwperim(BW,8);顯示影象:subplot(1,2,1);imshow(I);title('original iamge');subplot(1,2,2), imshow(BW2);title('bwperim');
(02)由上圖可以看出,這個函式的侷限性在於, 它不僅提取外輪廓, 對圖形區域內部的孔洞所圍成的內部邊緣也提取出來。如果想只得到外形輪廓,則需要先進行填洞操作,後進行膨脹操作,去除孔、洞。填洞為imfill。IBW = ~BW;F1 = imfill(IBW,'holes');SE = ones(3);F2 = imdilate(F1,SE,'same');BW3 = bwperim(F2);顯示影象:subplot(1,2,1);imshow(I);title('original iamge');subplot(1,2,2), imshow(BW3);title('operated bwperim');
(03)這種方法具有一定侷限性和優點,可根據個人的具體需要合理使用。下面介紹一下另一種方法,也是較為常用的方法:edge。
使用edge方法
(01)edge方法適用於灰度影象。edge的語法較為簡單。Bw = edge(I,‘methodname’)。第一個引數為要提取輪廓的影象,第二個引數為使用的運算元。不同運算元提取出來的效果略有不同。第一種:SOBEL運算元。I=imread('lena.bmp');% 提取影象BW1=edge(I,'sobel'); %用SOBEL運算元進行邊緣檢測顯示影象:figure;subplot(1,2,1), imshow(I);title('original image');subplot(1,2,2), imshow(BW1);title('sobel');
(02)第二種:Roberts運算元。I=imread('lena.bmp');% 提取影象BW2=edge(I,'roberts');%用Roberts運算元進行邊緣檢測顯示影象:figure;subplot(1,2,1), imshow(I);title('original image');subplot(1,2,2), imshow(BW2);title('roberts');
(03)第三種:prewitt運算元。I=imread('lena.bmp');% 提取影象BW3=edge(I,'prewitt'); %用prewitt運算元進行邊緣檢測顯示影象:figure;subplot(1,2,1), imshow(I);title('original image');subplot(1,2,2), imshow(BW3);title('prewitt');
(04)第四種:log運算元。I=imread('lena.bmp');% 提取影象BW4=edge(I,'log'); %用log運算元進行邊緣檢測顯示影象:figure;subplot(1,2,1), imshow(I);title('original image');subplot(1,2,2), imshow(BW4);title('log');
(05)第五種:canny運算元。I=imread('lena.bmp');% 提取影象BW5=edge(I,'canny'); %用canny運算元進行邊緣檢測顯示影象:figure;subplot(1,2,1), imshow(I);title('original image');subplot(1,2,2), imshow(BW5);title('canny');
(06)我們也可以將影象加上噪音然後進行提取,加了噪聲之後的影象的輪廓要更加雜亂。第六種:加噪音提取。I=imread('lena.bmp');% 提取影象h=fspecial('gaussian',5);BW6=edge(I,'canny');顯示影象:figure;subplot(1,2,1), imshow(I);title('original image');subplot(1,2,2), imshow(BW6);title('gasussian&canny');
總結
(01)以上就是提取影象輪廓常用的方法,根據需要選擇合適的方法才能有更好的效果。
-
顯示卡位寬有哪些,有什麼區別
為了更好的相容,更好的DIY,我們需要了解一下顯示卡的位寬有哪些,有什麼區別。操作方法(01)顯示卡位寬,主流有128bit還有64bit、128bit、256bit,視訊記憶體的位寬越高,顯示卡的效能也就越好。(02)主流顯示卡採用128bit位寬,128位的視訊記憶體能夠適應大多數遊戲。(03)視訊記憶體的頻寬=視訊記憶體頻率*視訊記憶體位...
-
QQ通訊錄怎麼新增聯絡人?
QQ通訊錄怎麼新增聯絡人?操作方法(01)我們首先登入自己的QQ號。(02)然後點選軟體右下角的應用管理器按鈕,如圖:(03)點選通訊錄按鈕,如圖:(04)在通訊錄中點選新增按鈕,如圖所示:(05)輸入聯絡人的姓名等資訊後點擊確定按鈕,如圖所示:...
-
郵箱快速註冊,不用手機號
如何快速註冊郵箱?如何不用手機號註冊郵箱?僅以TOM郵箱為例。操作方法(01)點選連線進入TOM郵箱註冊頁面輸入郵箱賬號等資訊(02)選擇微信註冊,拿出手機掃一掃即可完成註冊特別提示使用微信掃一掃,不用手機號和驗證碼...
-
Excel的標準差函式或公式如何使用
Excel的標準差函式或公式如何使用,相信很多使用該軟體的朋友們對這個問題很感興趣,下面給大家介紹一下,希望可以幫助到大家。操作方法(01)如果想要求出B2B3B4的標準差,則選中要顯示結果的單元格。(02)在開始選項卡的右側,點選自動求和旁邊的小箭頭,單擊其它函式。(03)選擇...