Reconstrução de Imagem: Fase vs. Magnitude

11

A Figura 1. (c) mostra a imagem de teste reconstruída apenas do espectro MAGNITUDE. Podemos dizer que os valores de intensidade dos pixels de baixa frequência são comparativamente mais altos que os pixels de alta frequência.

A Figura 1. (d) mostra a imagem de teste reconstruída apenas do espectro PHASE. Podemos dizer que os valores de intensidade dos pixels de alta frequência (bordas, linhas) são comparativamente mais altos que os pixels de baixa frequência.

Por que essa contradição mágica da mudança (ou troca) de intensidade está presente entre a imagem de teste reconstruída apenas no espectro MAGNITUDE e a imagem de teste reconstruída apenas no espectro PHASE, que quando combinadas formam a imagem de teste original?

insira a descrição da imagem aqui

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);
sagar
fonte

Respostas:

14

A Figura 1. (c) mostra a imagem de teste reconstruída apenas do espectro MAGNITUDE. Podemos dizer que os valores de intensidade dos pixels de baixa frequência são comparativamente mais altos que os pixels de alta frequência.

Na verdade, isso não está correto. Os valores de fase determinam a mudança nos componentes sinusóides da imagem. Com a fase zero, todos os sinusóides são centralizados no mesmo local e você obtém uma imagem simétrica cuja estrutura não tem correlação real com a imagem original. Estar centrado no mesmo local significa que os sinusóides são o máximo nesse local e é por isso que existe uma grande mancha branca no meio da Figura 1.c.

A reconstrução apenas de fase preserva os recursos devido ao princípio de congruência de fases . No local das bordas e linhas, a maioria dos componentes sinusóides tem a mesma fase. Consulte http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/OWENS/LECT7/node2.html Somente isso sozinho pode ser usado para detectar linhas e arestas, http: //www.csse.uwa. edu.au/~pk/research/pkpapers/phasecorners.pdf , sem considerar a magnitude. Então você pode ver que a informação da fase é mais importante.

Alterar a magnitude dos vários componentes sinusoides altera a forma do recurso. Ao fazer uma reconstrução apenas de fase, você define todas as magnitudes para uma, o que altera a forma dos recursos, mas não a localização. Em muitas imagens, os componentes de baixa frequência têm uma magnitude mais alta que os componentes de alta frequência; portanto, a reconstrução apenas de fase parece um filtro passa-alto.

Em resumo, a fase contém as informações sobre os locais dos recursos.

Você não pode adicionar imagens apenas de fase e somente magnitude para obter o original. Você pode multiplicá-los no domínio Fourier e transformar novamente para obter o original.

geometrikal
fonte
1
@geometrical obrigado senhor pela explicação. Li o artigo, mas tenho uma dúvida. senhor, você disse: "No local das bordas e linhas, a maioria dos componentes sinusóides tem a mesma fase". e usando o método de congruência de fase, esses podem ser detectados. mas os componentes de baixa frequência do patch grande branco também podem ter a mesma fase? então essas frequências também devem ser detectadas. Também preparei um código como você disse na sua última linha de resposta, mas não consigo reconstruir a imagem original ... Estou adicionando meu código no próximo comentário.
sagar
1
@geometrical 'clc; limpar tudo; feche tudo; i1 = imread ('C: \ Usuários \ Admin \ Desktop \ rough \ Capture1.png'); i1 = rgb2gray (i1); figura, imshow (i1); f1 = fftn (i1); mag1 = abs (f1); fase1 = ângulo (f1); a1 = fftn (mag1); a2 = fftn (fase1); a3 = a1. * a2; a4 = ifftn (a3); figure, imshow (uint8 (a4)); '
sagar
3
Na grande imagem branca, todos os sinusóides foram deslocados para ter a mesma fase (= 0) no centro. A congruência de fase é sobre a detecção de recursos de linha ou borda nas imagens. É outra prova de que a fase é mais importante para a estrutura da imagem. Com o seu código, refiro-me à reconstrução com as imagens de fase e magnitude.
geometrikal
2
clc; limpar tudo; feche tudo; i1 = leitura ('peppers.tif'); i1 = rgb2gray (i1); figura, imshow (i1); f1 = fftn (i1); mag1 = abs (f1); fase1 = exp (1i * ângulo (f1)); a1 = ifftn (mag1); a2 = ifftn (fase1); a3 = fftn (a1). * fftn (a2); a4 = ifftn (a3); figura, imshow (uint8 (a4));
geometrikal
1
Senhor, desculpe incomodá-lo, mas o que acontece com os componentes de baixa frequência que têm a mesma fase. Eles também devem ser preservados na reconstrução apenas da fase.
sagar
5

Na sua linha, mag1=abs(f1); você mantém a intensidade total da imagem inalterada (teste isso somando as intensidades de todos os pixels). Rejeitar as informações da fase no espaço de Fourier apenas leva a uma redistribuição espacial da intensidade no espaço real, de modo que r1 terá a mesma integridade total que i1.

Na sua linha, phase1=angle(f1); você está normalizando as amplitudes de cada pixel (no espaço de Fourier) para 1, para que a intensidade total da imagem seja alterada. Como a fase carrega grande parte das informações espaciais da imagem, os principais recursos da imagem são preservados.

aj
fonte