在matlab中消除边界图中的自由和不需要的点

时间:2015-01-15 06:43:41

标签: matlab boundary

我确定了BW图像的边界

但是我想摆脱在图像边缘产生的边界,以及自由点,它们不是白色和黑色部分之间边缘的一部分。 怎么办呢?

这是用于获取边界的代码

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

带边界的图像

没有边界的图像

1 个答案:

答案 0 :(得分:0)

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

对于未被检测到的独立点,你应该摆脱它们,正如Shai建议的那样。 您可能感兴趣的内容有imreconstructmedfilt2

也许noise removal tutorial可能也很有趣。