[英]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的建议摆脱它们。 您可能感兴趣的是imreconstruct或medfilt2 。
也许噪声消除教程可能也很有趣。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.