1

bwdist画像が完全にimhmin黒くなるのはなぜですか? ワークスペースで 2 つの行列を確認すると、値は正常に見えます。このコードを Matlab で実行して確認できます。予想される結果は、各連結成分の中心の強度が低く、連結成分のエッジの強度が高いグレースケール イメージです。エッジのピクセル距離は重心から離れているため、距離の値が高くなります。距離値が強度であると見なされる場合、エッジの強度が高くなります。

1 は距離変換される連結成分であり、0 は単に背景であると考えてください。背景を0にしたいです。

image = zeros(5,5);
image(2,2) = 1;
image(4,4) = 1;

binary = im2bw(image,graythresh(image));
distance = bwdist(binary,'cityblock');
hminima = imhmin(distance,5);

figure; imshow(binary)
figure; imshow(distace)
figure; imshow(hminima)

必要な結果はこのようなものです。

ここに画像の説明を入力

4

1 に答える 1

2

質問を理解しているかどうかはわかりませんが、最新の編集から、この行が必要なようです

figure; imshow(distace)

あなたが投稿した画像のように見えます。これを実現するには、 imshow がグレースケール イメージを生成し、0 を黒に、1 を白にマッピングすることを理解する必要があります。あなたの例でdistanceは、0 から 5 まで変化します。次のコードを使用する場合

scaledDistance = distance/max(distance(:));
figure; imshow(scaledDistance)

2 つの点だけではなく、グレースケールの画像が得られます。このコードを使用する場合:

scaledDistance = distance/max(distance(:));
figure; imshow(1 - scaledDistance)

投稿した画像と同様になるように反転されます。

于 2016-08-31T18:30:28.713 に答える