画像の再構成:位相とマグニチュード


11

図1.(c)は、MAGNITUDEスペクトルのみから再構成されたテスト画像を示しています。低頻度ピクセルの強度値は、高頻度ピクセルよりも比較的多いと言えます。

図1.(d)は、PHASEスペクトルのみから再構成されたテスト画像を示しています。高頻度(エッジ、ライン)ピクセルの強度値は、低頻度ピクセルよりも比較的多いと言えます。

強度の変化(または交換)のこの魔法の矛盾が、MAGNITUDEスペクトルのみから再構築されたテストイメージとPHASEスペクトルのみから再構築されたテストイメージの間に存在するのはなぜですか?

ここに画像の説明を入力してください

clc;
clear all;
close all;
i1=imread('C:\Users\Admin\Desktop\rough\Capture1.png');
i1=rgb2gray(i1);

f1=fftn(i1);
mag1=abs(f1);
s=log(1+fftshift(f1));
phase1=angle(f1);

r1=ifftshift(ifftn(mag1));
r2=ifftn(exp(1i*phase1));
figure,imshow(i1);
figure,imshow(s,[]);
figure,imshow(uint8(r1));
figure,imshow(r2,[]);
r2=histeq(r2);
r3=histeq(uint8(r2));     
figure,imshow(r2);
figure,imshow(r3);

回答:


14

図1.(c)は、MAGNITUDEスペクトルのみから再構成されたテスト画像を示しています。低頻度ピクセルの強度値は、高頻度ピクセルよりも比較的多いと言えます。

実際、これは正しくありません。位相値は、画像の正弦波成分のシフトを決定します。位相がゼロの場合、すべての正弦波が同じ場所に集中し、構造が元の画像と実際にはまったく相関がない対称的な画像が得られます。同じ場所の中心にあるということは、その場所で正弦波が最大になることを意味し、図1.cの中央に大きな白いパッチがあるのはそのためです。

位相のみの再構成では、位相が一致するという原理により、特徴が保持されます。エッジとラインの位置では、ほとんどの正弦波コンポーネントの位相が同じです。http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/OWENS/LECT7/node2.htmlを参照してください。 これだけで線とエッジを検出できます、http://www.csse.uwa。 edu.au/~pk/research/pkpapers/phasecorners.pdf、大きさに関係なく。したがって、フェーズ情報が最も重要であることがわかります。

さまざまなコンポーネントの正弦波の大きさを変更すると、フィーチャの形状が変わります。位相のみの再構築を行う場合、すべてのマグニチュードを1に設定します。これにより、フィーチャの形状は変更されますが、位置は変更されません。多くの画像では、低周波成分は高周波成分よりも大きさが大きいため、位相のみの再構成はハイパスフィルターのように見えます。

つまり、フェーズには、フィーチャの場所に関する情報が含まれています。

位相のみと大きさのみの画像を追加してオリジナルを取得することはできません。フーリエドメインでそれらを乗算し、元の値に戻すために変換できます。


1
@geometricalありがとうございました。説明を読みました。記事を読みましたが、疑いがあります。サー、「エッジとラインの位置では、ほとんどの正弦波コンポーネントは同じ位相を持っています。」そして、位相合同法を使用してこれらを検出できます。しかし、白い大きなパッチからの低周波成分も同じ位相を持つことができますか?したがって、これらの周波数も検出する必要があります。また、あなたの答えの最後の行で言ったように、1つのコードを準備しましたが、元の画像を再構築できません...次のコメントにコードを追加しています。
sagar 2014年

1
@geometrical 'clc; すべてクリア; すべて閉じる; i1 = imread( 'C:\ Users \ Admin \ Desktop \ rough \ Capture1.png'); i1 = rgb2gray(i1); 図、imshow(i1); f1 = fftn(i1); mag1 = abs(f1); phase1 =角度(f1); a1 = fftn(mag1); a2 = fftn(フェーズ1); a3 = a1。* a2; a4 = ifftn(a3); figure、imshow(uint8(a4)); '
sagar 2014年

3
大きな白いパッチ画像では、すべての正弦波が中央で同じ位相(= 0)になるようにシフトされています。位相整合性とは、画像内のラインまたはエッジの特徴を検出することです。これは、フェーズがイメージ構造にとって最も重要であることのもう1つの証拠です。あなたのコードでは、位相と大きさの画像で再構築することを意味します。
geometrikal

2
clc; すべてクリア; すべて閉じる; i1 = imread( 'peppers.tif'); i1 = rgb2gray(i1); 図、imshow(i1); f1 = fftn(i1); mag1 = abs(f1); phase1 = exp(1i * angle(f1)); a1 = ifftn(mag1); a2 = ifftn(フェーズ1); a3 = fftn(a1)。* fftn(a2); a4 = ifftn(a3); 図、imshow(uint8(a4));
geometrikal

1
ご迷惑をおかけして申し訳ありませんが、同じ位相を持つ低周波成分はどうなりますか。また、位相のみの再構築でも保持する必要があります。
sagar 2014年

5

あなたの行 mag1=abs(f1); では、画像の全体の強度を変更せずに残しています(すべてのピクセルの強度を合計してこれをテストします)。フーリエ空間での位相情報の拒否は、r1がi1と同じ総強度を持つように、実際の空間での強度の空間的な再分布につながります。

この行 phase1=angle(f1); では、各ピクセルの振幅(フーリエ空間)を1に正規化しているため、画像の全体的な強度が変更されます。フェーズは画像の空間情報の大部分を運ぶため、それでも画像の主要な特徴は保持されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.