2016-10-28 17 views
-6

どのように計算しますか?画像のlog10を計算し、画像のlog10はどういう意味ですか? イメージはグレーレベルです。 例:matlabで画像のlog10を計算する

a = imread( 'image.jpg');

im2bw(a、log10);

私はlog10を知りたい画像にどのように影響を与えますか?

+0

画像のlog10を取る意味を定義できない場合、なぜそれをしようとしていますか? – MooseBoys

+0

達成したい究極の目標は何ですか? – mpaskov

+0

「I = imread( 'cameraman.tif'); I = im2double(I); J = log10(I); imshow(J、[]) 'の例です。画像はより明るく(線形伸張後のみ)、["対数"](http://homepages.inf.ed.ac.uk/rbf/HIPR2/pixlog.htm)。 Jの実際の値は負である。 – Rotem

答えて

1

1.対数の強度値への影響。

グレースケール画像があるとします。では、cameraman.tifの画像をmatlabから提供しています。

Img = imread ('cameraman.tif'); 

この画像はUINT8画像(すなわち、それは0〜255の範囲内の可能な強度値を取ることができる)であるが、実際には、この特定の画像は最小強度7の値と253の最大値を有する。これは有用です対数の効果を実証するために、0の値がない(これは対数出力に「マイナスの無限大」をもたらす)。

対数をとったときの強度を実証するには、まず最小値から最大値までの線形範囲の強度と、その範囲の対数を取ってみましょう。

Range = double (min (Img(:)) : max (Img(:)));  
LogRange = log10 (Range); 

ここで、[0,1]間隔で両方を正規化し、範囲をプロットしましょう。あなたは対数変換を適用した場合

NormalisedRange = mat2gray (Range); 
NormalisedLogRange = mat2gray (LogRange); 

subplot (1, 2, 1); plot (NormalisedRange); axis tight square; title ('Normalised intensity values'); 
subplot (1, 2, 2); plot (NormalisedLogRange); axis tight square; title ('Normalised Log of intensity values'); 

enter image description here

だから、あなたが強度「アップ」、すなわち、あなたはピクセルが明るくシフト。変換前のピクセルが暗いほど効果は大きくなります。

2.視覚

対数の効果だが、これは実際の画像とその対数変換([0,1]として上記の範囲に正規化された両方)にどのように見えるかを見てみましょう。 各画像のヒストグラム、すなわち[0,1]の範囲内の各強度値の頻度も調べます。

LogImg   = log10 (double (Img)); 
NormalisedImg = mat2gray (Img); 
NormalisedLogImg = mat2gray (LogImg); 

subplot (2, 2, 1); imshow (NormalisedImg, [0, 1]); axis image off; title ('Normalised Image'); 
subplot (2, 2, 2); imshow (NormalisedLogImg, [0, 1]); axis image off; title ('Normalised LogImage'); 
subplot (2, 2, 3); imhist (NormalisedImg); 
subplot (2, 2, 4); imhist (NormalisedLogImg); 

enter image description here

あなたは、変換の効果は「明るく」に絵アップされている、特に、それは特に、以前に暗い領域(例えば、人間の中にコントラストが向上していることがわかります機能がはるかに明確になりました)。明るい領域でコントラストが悪化していることは明らかです。明るい領域ではコントラストが悪化しています(たとえば、建物とスカイラインの区別が不明)。

また、強度分布が明るい値に大きくシフトしていることをヒストグラムから確認することもできます。

関連する問題