1

画像の各ピクセルのセグメント インデックスを持つマトリックスがあります。セグメントの境界を視覚化するにはどうすればよいですか? 最も明白なアイデアは、diff フィルターを使用してエッジ マップを取得することですが、見た目が非常に悪くなります。ここの画像のようにするにはどうすればよいですか? 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

より速い何かのために、特に1色だけが必要な場合は、次のようなことをしてみませんか

(境界線が論理配列に格納されていると仮定します:bordersそしてあなたはでイメージしますimg

img(borders) = 0

bordersマスク内のすべてのピクセルを黒にする

于 2013-04-18T23:57:49.617 に答える