Escolha dos parâmetros do kernel gaussiano quando a filtragem passa-baixo antes da reamostragem da imagem?

7

Eu preciso dizimar um sinal por um fator de q.

Mais especificamente, meu sinal é uma "imagem" 3D: , que eu preciso por um fator de dois na direção z. I(xi,yj,zk)

Quero fazer a filtragem lowpass antes da dizimação, convolvendo com um kernel gaussiano de tamanho n.

Crio meus kernels gaussianos 2 desvios padrão abaixo e acima de 0, pois isso representa 95% da distribuição.

Estou procurando uma regra prática que me diga o quão grande deve ser o n.

Estou certo ao pensar que o gaussiano deveria filtrar todas as frequências acima de fN / q, onde fN: frequência Nyquist do sinal original?

Eu sei que o Fourier de um gaussiano com desvio padrão é outro gaussiano com desvio padrão . Não tenho certeza de quão rigoroso deve ser o meu filtro passa-baixo. A frequência de corte, fc, deve estar em 2 ou 3 desvios padrão? σ σ=1/σ

Qual é então a equação para a frequência de corte, fc, de um núcleo gaussiano com tamanho n: fc (n) =?

Abaixo está a resposta de frequência de alguns núcleos gaussianos calculados no Matlab: insira a descrição da imagem aqui

Meu problema real envolve q = 2 e, a partir desta figura, vejo que n = 5 deve funcionar bem. Teria sido bom ter uma regra de ouro, então não preciso fazer isso para cada q que encontro.

Andy
fonte
2
Existe alguma razão específica para você usar um filtro gaussiano? Existem outros tipos de filtro que oferecem mais liberdade na escolha de suas características de faixa de passagem / faixa de parada. Provavelmente eu não usaria um filtro gaussiano como filtro antialiasing (isto é, pré-dizimação).
Jason R
11
Não existe realmente um "próximo passo", mas o método window também é um método de design de filtro muito simples que pode atender às suas necessidades um pouco melhor. Aproximações digitais para famílias de filtros analógicos clássicos como Butterworth, Chebyshev e filtros elípticos também são uma opção. Para obter mais controle sobre a resposta do filtro, você pode usar o algoritmo Parks-McClellan , que objetiva o comportamento especifico dos pares em ambas as bandas de parada e passband.
Jason R
2
Eu diria que desde que você parece novo nisso, use 'fdatool' no MATLAB. Se você insistir em usar uma janela gaussiana, observe o bem estabelecido par de transformadas de Fourier para sinais gaussianos (dica: é outro gaussiano!).
Bryan
11
@ Andy: Já ouvi falar que o método (Lanczos) está sendo usado no processamento de imagens antes (não na minha área de especialização). Apenas meus dois centavos, mas acho que você descobrirá que, em geral, muitas abordagens de processamento de imagens são menos baseadas em diretrizes estritas de processamento de sinais e mais no que foi julgado como funcionando bem e com boa aparência. Especificamente, não acho que seja típico projetar rigorosamente um filtro antialiasing de pré-dizimação com frequências espaciais de banda passante e de banda parada. Em vez disso, existem algumas abordagens de reamostragem / desfocagem que foram consideradas boas escolhas.
Jason R
11
@ Andy: Você pode editar a pergunta para indicar especificamente que está realizando uma nova amostra de imagem. Uma maneira melhor de descrever isso é perguntar "ao aplicar um desfoque gaussiano antes de reduzir a amostragem de uma imagem, qual é uma boa maneira de escolher parâmetros apropriados para o kernel gaussiano?"
Jason R

Respostas:

1

Eu acho que o que você quer fazer é semelhante ao redimensionamento da imagem. Nesse caso, várias funções integradas no MATLAB podem ser usadas para essa finalidade, por exemplo, redimensionar .

armadilha
fonte