Como você mede os "detalhes" de um sinal?


16

Eu tenho uma imagem e gostaria de medir a quantidade de detalhes nela. Outra maneira de ver isso é medir o quão embaçada é uma imagem. Uma maneira é analisar os componentes de alta frequência na transformação de Fourier da imagem.

Existem outros / melhores métodos?


Uma imagem com menos "detalhes" seria mais compressível por um algoritmo como o JPEG?
endolith

Respostas:


14

O que você está se referindo é normalmente conhecido como "Nitidez da imagem". Uma verificação rápida, bem como alguns conhecimentos prévios, são os seguintes:

  1. Análise de Fourier - O uso disso tem duas desvantagens principais. Antes de tudo, o ruído tenderia a aparecer independentemente do que acontecesse e, portanto, os componentes de frequência mais alta tenderiam a aparecer. Em segundo lugar, a nitidez tende a ser um fenômeno local e, portanto, pode não aparecer se você transformar uma imagem inteira.
  2. Análise de autovalor - Na verdade, não li este artigo, mas propõe o uso da análise de autovalor para determinar a nitidez de uma imagem.
  3. Os algoritmos de detecção de borda dependem de uma certa nitidez. Pode-se usar valores diferentes para os parâmetros de detecção de arestas para determinar a quantidade de nitidez.
  4. Curtose Medida dos coeficientes de wavelets - Novamente, não li o artigo inteiro, mas isso parece sugerir o cálculo de coeficientes de wavelets, executando uma FFT de todo o conjunto de coeficientes e medindo a curtose. Isso deve ser relativamente imune ao ruído.

Tenho certeza que existem muitos mais. Este é um campo de estudo muito ativo atualmente. Se nenhum desses métodos lhe convier, continue pesquisando artigos acadêmicos e veja se consegue encontrar um método melhor.


9

Acho que se você falar sobre a quantidade de detalhes em uma imagem, a transformada discreta de wavelet (DWT) se encaixa perfeitamente na sua descrição. Não é completamente diferente da discreta transformada de Fourier (DFT), pois ela também opera em termos de componentes de escala fina e grossa de um sinal, mas também é muito localizada ao contrário da DFT. Uma introdução fantástica para I. sinais unidimensionais de I. Selesnick está aqui .

Uma transformada wavelet é essencialmente uma série de filtros de passagem de banda ortogonais aninhados que, no final, criam sinais de diferentes componentes espectrais; portanto, nesse sentido, você pode usar qualquer uma das wavelets da transformação Fourier. No entanto, se você realmente deseja plotar os componentes separadamente, é necessário usar o WFT, pois também oferece a janela e a localização corretas no espaço.

Se você deseja simplesmente calcular a quantidade de detalhes em cada nível de escala, o cálculo da energia total de cada banda com interesse na transformação de Fourier seria suficiente:

Dβ=ωββ|Sf(ωβ)|2

onde é a transformada de Fourier de algum sinal e é um intervalo de frequências no domínio de Fourier.Sf(ω)s(t)β

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.