matlab中可用於進行輪廓提取的函數


本文主要總結一下在matlab中可用於進行輪廓提取的函數。

1 bwperim

    根據參考資料[2]的提示,可以使用bwperim()函數進行輪廓提取,具體代碼如下:

%讀取原圖
im = imread( filepath );
imshow(im);
title('原圖');

% 轉二值圖像
bw = im2bw( im );

%輪廓提取
contour = bwperim(bw);
figure
imshow(contour);
title('輪廓')
    原圖和所提取的輪廓分別如圖1和圖2所示。


                   圖1 原圖


                    圖2 輪廓

2 edge

    可以借助edge()函數進行邊界檢測,算子可以選擇canny,soble等等。具體代碼如下:

%讀取原圖
im = imread( filepath );
imshow(im);
title('原圖');

% 轉二值圖像
bw = im2bw( im );
% 邊界檢測
contour = edge(bw ,'canny');
figure
imshow(contour);
title('邊界')
    對圖1的檢測效果如圖3所示:

                       圖3 edge檢測結果

 

參考資料

[1]輪廓提取

[2]matlab 二值圖像 外輪廓提取

[3]matlab 二進制圖像輪廓提取
---------------------
作者:OneSea-V3.0
來源:CSDN
原文:https://blog.csdn.net/Q1302182594/article/details/50394576
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM