2011-07-22 10 views
3

飛行機に投影したい実世界の3Dポイントがあります。強度[0-1]値の大部分は、より低い領域(ゼロ付近)に入る。強度の標準化、matlab

下記の画像の前の画像をご覧ください。 before normalization of data

Iの値

Col_ =強度を正規化することを試みました。 (Col _)= 0.46;分(Col _)= 0.06;%(Col _)= 0.06;

コル=(Col_分(COL _))/(MAX(COL _) - 分(COL _));%

MAX(COL)= 1の後、分(COL)= 0。

しかし、私は下の領域(ゼロに近い)に落ちる最大値を持っています。 正規化後に2番目の図を参照してください。

After normalization of data

結果はまだ黒region.Any提案のほとんどです。どのように私の強度情報をストレッチすることができます。 よろしくお願いします。

+0

これは助けになるかもしれません(正規化部分):http://stackoverflow.com/questions/1719048/plotting-4-curves-in-a-single-plot-with-3-y-axes/1719405 #1719405 – Amro

+0

@ephsmithが提案した対数スケーリングに頼るべきだと思います。リニアスケーリングは、あなたのケースを大きく助けません。 –

答えて

0

私がここでできることは、範囲を狭めることだけだと思います。

t = 0.1; 
Col(Col > t) = t; 

これは単にあなたがやっていることに十分であり得るデータの範囲を切り捨てます:正規化した後 は、次の操作を行います。もし望むなら、再度正規化し直すことができます。

+0

@ Dima具体的にお願いします。 – Shahgee

+1

@shahbaba編集を参照してください。これは十分具体的ですか? – Dima

+0

@ Dimaこのようにしてみました。Col_ = log(1 + Col_); Col_(Col_> 0.05)= 0.05; Col =(Col_-min(Col _))/(max(Col _) - min(Col_));それは動作しますが、プログラムはこの制限を自動的にどのように見つけることができます。何か案が。 – Shahgee

1

リニアスケーリングでできる限り正規化したようです。コントラストをより強くしたい場合は、元のスケーリングを保存せずに、非線形等化を使用する必要があります。

例えば

:あなたは、画像処理ツールボックスを持っている場合はhttp://en.wikipedia.org/wiki/Histogram_equalization

は、MATLABはあなたのためにそれを行います:あなたは「ドン場合は、最初のビン外の非常にいくつかの値を持っているよう http://www.mathworks.com/help/toolbox/images/ref/histeq.html

に見えますtはあなただけの量を多くすることで、規模拡大ができ、強度の一意性を保持する必要があると私は強度を正規化するとき、私はこのような何かを1

1

を超え、その数をクリップ:

Col = Col - min(Col(:)); 
Col = Col/max(Col(:)); 

これにより、データポイントが範囲[0,1]に正規化されます。

小さな値が多いので、ログのスケーリングによって小さな変更をより効果的に行うことができます。

Col_scaled = log(1+Col); 

このようなデータを使ったリニアスケーリングは、私にとってはほとんど役に立ちません。 log関数を使用すると、視覚化のためにガンマを微調整するのに似ています。

関連する問題