繁体   English   中英

在Matlab中消除边界图中的自由点和多余点

[英]Eliminating free and unwanted points in a boundary plot in matlab

我已经确定了黑白图像的边界

但是我希望摆脱在图像边缘上生成的边界以及自由点,这些自由点不是白色和黑色部分之间的边缘的一部分。 如何做呢?

这是用于获取边界的代码

bw = imadjust(I1,[0 0.1],[0 1]);
BW= im2bw(bw);
%% plot boundary
[B,L,N] = bwboundaries(BW);
figure; imshow(BW); hold on; 
for k=1:length(B), 
   boundary = B{k};
   tempa = boundary(:,2); 
   tempb = boundary(:,1);
   if(k <=N) 
      plot(tempa,tempb,'r','LineWidth',1.5); 
   end
end

有边界的图像

图像无边界

对于图像边缘的边界,我认为您应该首先正确裁剪。

对于不被检测到的独立点,您应该按照Shai的建议摆脱它们。 您可能感兴趣的是imreconstructmedfilt2

也许噪声消除教程可能也很有趣。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM