【发布时间】:2019-02-13 21:45:29
【问题描述】:
我在 MATLAB 中有一个二维二进制边缘图像,即零矩阵在道路或河流等细长对象的边缘只有 1 个值。如何将河流两条边缘之间的所有像素指定为 1,将边缘外的像素指定为 0。我使用了形态学imfill 运算符,但它没有效果。
这是合成的二值边缘图像。我想填充弯曲事件的内部: 填充合成图像的结果: 复杂的边缘图像是这样的: 复杂的边缘图像由我的方法产生:
提前谢谢你
【问题讨论】:
-
为了得到一个好的答案,请附上您描述的图片,以及您如何尝试使用
imfill以及为什么它没有达到您的预期。 -
@尊敬的 Luengo 教授:我只使用了这个简单的命令 `BW = imfill(synthetic),但没有导致数据发生任何变化。
-
@Cris Luengo:我刚刚用鼠标指定了一些点,结果很好。但是,在更复杂的图像中,我遇到了问题。在用一些约束填充它们之前,我想只保留河流的边缘,但我不知道应该使用什么约束。请问你能帮帮我吗?我在问题中添加了复杂的图像。
-
我遇到了复杂图像的这个错误:警告:图像太大,无法显示在屏幕上;显示为 67%。我无法通过鼠标指定点。
-
看你的图,我不知道什么是评论,什么不是河流,所以我无法给你任何建议。河流和道路检测是很好研究的主题,您是否进行了文献检索?改进最先进的技术是好的,重新发明轮子不是。