Matlab对二值图像进行轮廓提取

来源:互联网 发布:linux更新软件源 编辑:程序博客网 时间:2024/05/16 07:33

本文主要总结一下在matlab中可用于进行轮廓提取的函数。
1 bwperim
根据参考资料[2]的提示,可以使用bwperim()函数进行轮廓提取,具体代码如下:

%读取原图    im = imread( filepath );                  imshow(im);    title('原图');                           % 转二值图像    bw = im2bw( im );                            %轮廓提取       contour = bwperim(bw);                      figure    imshow(contour);    title('轮廓')    

原图和所提取的轮廓分别如图1和图2所示。
这里写图片描述
这里写图片描述
2 edge
可以借助edge()函数进行边界检测,算子可以选择canny,soble等等。具体代码如下:

%读取原图    im = imread( filepath );                  imshow(im);    title('原图');                           % 转二值图像    bw = im2bw( im );                           % 边界检测    contour = edge(bw ,'canny');    figure    imshow(contour);    title('边界')    

这里写图片描述

原创粉丝点击