如何关闭一个开放轮廓

33次观看(过去30天)
Ashkan Javadzadegan
Ashkan Javadzadegan 2015年4月18日
评论道: 图像分析 2020年6月25日
亲爱的所有人,附件的图像由两个开放的轮廓组成。我想结束这两个轮廓。请告诉我这在Matlab中是否可行。
谢谢竟

接受的答案

图像分析
图像分析 2015年4月18日
使用bwmorph()对blob进行骨架化,然后再次使用bwmorph()来查找端点。使用regionprops()获取框架的坐标,以便知道哪些端点属于同一个blob。然后使用imline()绘制一条连接每个blob端点的线。演示inline用于将一行烧录到一个图像。请先自己尝试这些步骤,如果做不到,请返回代码。同样,粗略的步骤是
bwmorph (binaryImage“skel”、正);
bwmorph (binaryImage“端点”);
[labeledImage, numBlobs] = bwlabel(binaryImage);
测量= regionprops(labeledImage,“PixelList”);
k = 1: numBlobs
找到这个斑点的端点,然后
imline ();
%等
结束
完成它(应该不会太难),有任何问题请告诉我。
5个评论
darova
darova 2020年6月25日
我接受了他的回答

登录评论。

更多答案(1)

丹尼尔·托马斯。
丹尼尔·托马斯。 2020年6月25日
不要用imline来“烧线”。使用insertShape代替在图像上画一条线。insertShape的另一个麻烦是它总是生成RGB而不是灰度。所以你需要把它转换成灰度。除此之外,它比“烧线”要好得多。
1评论
图像分析
图像分析 2020年6月25日
它还需要计算机视觉工具箱。

登录评论。

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!