2016-10-27 6 views
2

私はmatlabで単純な画像の2D fftをプロットしようとしていますが、結果のプロットは非常に奇妙に見えますが、これまでに遭遇した2D fftプロットとは異なります。ほとんどが白で、格子状の点線の黒い線がいくつかあります。Matlab-anomalous fft2 display

これは私が取得しようとしているプロットのためのコードです:

fftA = fftshift(fft2(digimageA)); 
imshow((abs(fftA))) 

任意のコメントは非常に参考になる、ありがとう。

Iは、画像の生成に関連するコードを掲載します:

m = 501; n = 501; 
digimageA = zeros(m, n); 

for i = 1:size(digimageA, 1) 
    for j = 1:size(digimageA, 2) 

     if (i <= round(m/2) + 20)&&(i >= round(m/2) - 20)&&(j <= round(n/2) + 20)&&(j >= round(n/2) - 20) 

      digimageA(i,j) = 255; 
     end 
    end 
end 

答えて

0

imshow入力doubleでは、値が01の間であることを期待します。 1を超える値は1にクリッピングされているため、画像が正しく表示されません。オートスケールに

表される値の範囲は、トリックを行っているようだ

imshow(abs(fftA), []) 

または

imagesc((abs(fftA))) 
+0

のいずれかを使用して、私が起こってクリッピングを知りませんでした。あなたの説明をありがとう! – Rallad

+0

はい、 'imshow'のドキュメントはそれほど明確ではありません –