A detecção de borda pode ser feita no domínio da frequência?

11

Podemos tirar vantagem do fato de que os componentes de alta frequência na FFT de uma imagem geralmente correspondem às bordas, para implementar um algoritmo de detecção de bordas no domínio de quatro camadas? Tentei multiplicar um filtro passa-alto pela FFT de uma imagem. Embora a imagem resultante correspondesse às bordas, não era exatamente a detecção de bordas estabelecida usando matrizes de convolução. Então, existe alguma maneira de fazer a detecção de borda no domínio fourier ou isso não é possível?

rounak
fonte

Respostas:

6

Como a convolução no domínio espacial é a multiplicação no domínio Fourier (frequência), você pode executar a detecção de borda no domínio de Fourier multiplicando os espectros de imagem e o kernel de detecção de borda e, em seguida, executar IFFT no resultado.

Eu acho que o filtro passa-alto sozinho não é apropriado para a detecção de bordas, pois mantém todos os recursos de alta frequência (por exemplo, picos e cantos acentuados) que geralmente não são classificados como bordas.

Métodos mais avançados de detecção de bordas seriam complicados no domínio da frequência, já que as bordas são melhor descritas no domínio espacial (na minha opinião).

A questão é por que fazer a detecção de borda usando FFT em primeiro lugar? É por considerações de desempenho? Nesse caso, talvez a imagem filtrada passa-alta (produzida rapidamente pela FFT) possa ser filtrada rapidamente novamente para remover peças que não são da borda.

Libor
fonte
Sim, o pensamento foi devido a considerações de desempenho, já que o Matlab leva muito tempo para percorrer cada pixel da imagem. Tentará preencher o filtro de convolução, tirar sua FFT e filtrar a imagem. Obrigado!
Rounak #
Bordas são baseados descrito em algum sabor de domínio wavelet (na minha opinião);)
Henry Gomersall
1
isso depende tudo da sua definição de uma aresta: se você a aproximar, ela "mudará" no domínio da frequência para frequências mais baixas. Assim, uma aresta não é suficiente para defini-la como um recurso de alta frequência.
meduz 12/07/12
5

Normalmente, a detecção de borda é feita por uma convolução de um filtro / núcleo 2-D como Roberts Cross ou uma formulação Sobel . Como essas são convoluções, aplicam-se as regras de LTI, como poder aplicá-las de forma equivalente no domínio da frequência. Ou seja, leve o kernel e a imagem ao domínio da frequência via DFT, multiplique-os juntos e depois IDFT o resultado novamente no domínio espacial.

Devo acrescentar também que os núcleos no domínio espacial, de fato, tentam explorar as características de alta frequência espacial das arestas. Por exemplo, se você olhar para Roberts, poderá ver como ele está fazendo uma diferenciação entre os pontos diagonais - ou seja, uma operação de filtragem de alta frequência.

Spacey
fonte
1

Tanto uma única etapa como um dente de serra produzem uma boa relação linear entre frequência e fase no domínio da frequência, com a inclinação da fase desembrulhada, dependendo da localização da aresta na janela da FFT. Para detectar ou estimar a localização de uma aresta única assumida, você pode tentar desembrulhar a fase no domínio da frequência e verificar se o resultado possui correlação linear suficiente para passar por algum limite de detecção.

hotpaw2
fonte