0

ここに画像の説明を入力

この図でわかるように、間にゼロ (または NaN) の値がある線形ではない 3 つの「線」があります。

「線」セクションのすべての値を平均して、単一の値で3つの塗りつぶされた領域を持つ画像を作成し、下のゼロの領域を塗りつぶしたいと思います。

平均化は問題ではなく、fill または patch コマンドの使用も問題ではありません。ここでの私の問題は、形状によって内容が線形または均一でないデータを特定し、データの 3 つのスライスを効率的に作成する方法です。行列の実際の値は維持する必要があります。

どんなアイデアでも感謝します!

ありがとう

4

1 に答える 1

0

そのようなカラーマップから判断するのは少し難しいですが、列に沿って不均一性がかなり悪化しているように見えます。その場合は、各列の値を隣接する 2 つの列の値と比較して、バイアス インデックスを作成することをお勧めします。

突き刺すだけ - 私はinhomogeあなたの不均一なイメージのスラングとして使用します

predictedInhomoge=(inhomoge(1:end-2)+inhomoge(3:end))/2;
biasImage=(predictedInhomoge-inhomoge(2:end-1))./(inhomoge(2:end-1)+predictedInhomoge);
image(255*biasImage/max(biasImage(:)));

青色のデータが実際にはゼロであり、単なる小さな値ではない場合、上記の biasImage には無意味なInf値が多数含まれます。その場合は、biasImage 式から分母を削除して、正規化されないようにします。

biasImage=(predictedInhomoge-inhomoge(2:end-1));

biasImage の最大値が不均一性を反映しているように見える場合は、問題ありません。しきい値を選択して、それを超える値を再計算してください。そうでない場合は、ベイジアンを試してみることを検討します。

おそらく言う必要はありませんが、NaN は簡単に見つけて削除できます。

于 2012-08-29T02:44:11.060 に答える