matlab 获取图像轮廓两种方法

 时间:2024-10-23 07:58:28

1、matlab中有提取图形轮廓的函数bwperim。但其只针对二值图像,所以需要先对灰度图像进行二值化,选定合适的阈值进行二值化。I = imread('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');

matlab 获取图像轮廓两种方法

2、由上图可以看出,这个函数的局限性在于, 它不仅提取外轮廓, 对图形区域内部的孔洞所围成的内部边缘也提取出来。如果想只得到外形轮廓,则需要先进行填洞操作,后进行膨胀操作,去除孔、洞。填洞为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');

matlab 获取图像轮廓两种方法

3、这种方法具有一定局限性和优点,可根据个人的具体需要合理使用。下面介绍一下另一种方法,也是较为常用的方法:edge。

  • matlab是什么编程语言
  • matlab如何将编辑器和命令行放在一个界面
  • 如何在MATLAB中获取数组信息
  • matlab中./与/有什么区别
  • Matlab定义一个行数和列数确定的空矩阵
  • 热门搜索
    爱的手抄报内容 感恩父母手抄报花边 好看的手抄报边框 爱我中华手抄报资料 安全手抄报图案 绿山墙的安妮手抄报 家乡的手抄报 关于春天的手抄报花边 语文知识手抄报 我的青春我做主手抄报