O que significa no processamento de imagens quando um filtro é chamado não linear?

14

No processamento de imagens, o que significa quando um filtro é chamado não linear?

Isso significa que a equação do filtro contém derivadas e, se não, seria denominada linear?

Sidarta
fonte

Respostas:

23

Um filtro F é chamado "linear", se for para quaisquer escalares , c 2 e quaisquer imagens I 1 e I 2 :c1c2Eu1Eu2

F(c1Eu1+c2Eu2)=c1F(Eu1)+c2F(Eu2)

Isso inclui:

  • Derivados
  • Integrais
  • transformada de Fourier
  • Z-Transform
  • Transformações geométricas (girar, traduzir, dimensionar, distorcer)
  • Convolução e Correlação
  • a composição de qualquer tupla de filtros lineares (ou seja, aplicar algum filtro linear à saída de outro filtro linear )F(G(Eu))
  • a soma do resultado de dois filtros lineares (isto é, a saída de um filtro, adicionado pixel por pixel à saída de outro filtro F(Eu)+G(Eu) )

e muitos outros.

Exemplos de filtros não lineares são:

  • o quadrado, absoluto, raiz quadrada, exp ou logaritmo do resultado de qualquer filtro linear
  • o produto do resultado de dois filtros lineares (ou seja, a saída de um filtro, multiplicado por pixel com a saída de outro filtro F(Eu)G(Eu) )
  • filtros morfológicos
  • filtro mediano
Niki Estner
fonte
Boa lista. O conceito de teoria linear de sistemas também se aplica de maneira mais geral a sinais com outras dimensões além de duas dimensões e é um tópico bastante fundamental em muitas áreas da engenharia.
Jason R
1
H1(z)H2(z)H1(f)H2(f)Uma das funções de transferência é o significado de produto de dois filtros lineares, e esse filtro não é linear, mesmo que seus dois componentes sejam filtros lineares.
precisa saber é o seguinte
@DilipSarwate: Bom ponto. Eu adicionei composição à lista e esclareci o que eu quis dizer com "produto de dois filtros".
Niki Estner
@nikie Excelente lista. Você também pode listar a Segmentação de imagens (já que eu vejo que ela existe como uma técnica por si só) como outro método não linear. (Equivalente a thresh-hold no sentido 1-D).
Spacey
@nikie Não acredito que a tradução seja uma operação linear.
Spacey
1

Digamos que você tenha dois filtros, um linear e um não linear (para filtrar algumas imagens corrompidas por ruído). ou seja, você tem alguns pixels ruins com valores realmente altos ou baixos que parecem 'estranhos' em uma pequena região retangular de uma imagem.

Agora, um filtro linear (como 'médio') funciona assim:

  1. Coloque uma janela sobre o elemento
  2. Faça uma média - some elementos e divida a soma pelo número de elementos.

Você notará que se você expandir a área da janela de filtro, a estenderá sobre mais elementos (ou seja, mais elementos compõem a média automaticamente contribuindo para o valor do pixel filtrado).

Por outro lado, para um filtro não linear como a mediana (que substitui o pixel a ser filtrado pelo valor mediano dentro da janela quadrada), aumentar a janela não necessariamente traz uma contribuição para a mediana da janela e, portanto, gera não resultará em um impacto direto no pixel filtrado.

Aqui está um exemplo numérico: digamos que você tenha ai, j (ou seja, janela 3x3) com a âncora (pixel central no meio na posição (2,2) e os valores sejam (nível de brilho) 40, 60, 80, 89, 90 , 100, 101, 105, 185. você notará que a mediana é 90, portanto o pixel âncora se tornará 90. agora, digamos que você aumente o tamanho da janela e adicione mais valores aos nove, ou seja, para ter uma janela 5x5. é uma chance de que, mesmo depois disso, a mediana ainda seja 90. Portanto, uma mudança na entrada não necessariamente gera uma mudança proporcional na saída, daí a não linearidade.

valentin
fonte
-1. Concordo que a mediana é um filtro não linear. No entanto, sua explicação não é aceitável.
Dipan Mehta
0

Isso me lembra: há muitos anos (15?), Li em uma revista não acadêmica, mas bastante conhecida, para desenvolvedores (cof, cofdr, cof, cofdobbs ...) uma explicação sobre LPC = Linear Predictive Coding ... como um exemplo a previsão de sinal x[t+1] com base nos valores de x[t] e x[t-1]e explicou que para um sinal típico (suave) que poderia ser feito desenhando uma linha reta que passasse por esses dois valores ... e, por isso, a previsão era chamada de 'linear'. Eu não podia acreditar nos meus olhos.

Obviamente, essa 'linearidade' não tem nada a ver com um filtro linear. Suponha que eu queira prever o valor de um sinal usando três valores anteriores e decida ajustá-los por meio de um polinômio de segundo grau e extrapolar. A extrapolação então caberia uma parábola , mas meu filtro ainda seria um filtro linear , porque o valor extrapolado é uma combinação linear da entrada.

leonbloy
fonte