1

我有一个包含图像每个像素的分段索引的矩阵。如何可视化段的边界?最明显的想法是使用diff filter来获取边缘图,但是看起来很丑。如何使图像看起来像这里? http://www.vlfeat.org/overview/slic.html

UPD:我试过了,看起来还不错。代码本身看起来很难看,也许可以写成更优雅的形式。

boundaries = zeros(size(segments));
boundaries(2:end, :) = boundaries(2:end, :) + (segments(2:end, :) ~= segments(1:end-1, :));
boundaries(:, 2:end) = boundaries(:, 2:end) + (segments(:, 2:end) ~= segments(:, 1:end-1));
4

1 回答 1

0

如果您有索引的位置(例如边界所在的二进制掩码),您可以使用它imoverlay来执行此操作。

http://www.mathworks.co.uk/matlabcentral/fileexchange/10502-image-overlay

对于更快的东西,特别是如果你只需要一种颜色,你为什么不做类似的事情

(假设边框存储在一个逻辑数组中:borders并且您的图像在img

img(borders) = 0

使borders蒙版中的所有像素变黑

于 2013-04-18T23:57:49.617 回答