Denoising de imagem com melhor preservação da borda

12

Eu tenho a imagem de entrada:

insira a descrição da imagem aqui

e a saída da detecção de veias para a folha usando um filtro Gabor, mas a saída é realmente barulhenta:

insira a descrição da imagem aqui

Eu tentei usar denoising variação total, no entanto, os resultados não são bons:

insira a descrição da imagem aqui

No entanto, não quero perder os detalhes nas veias das folhas, portanto, um filtro mediano não será adequado ao meu problema

vini
fonte
que processamento você faz na imagem original ?? O que você deseja detectar?
22712 Charles
eu usei filtro de Gabor na imagem original
vini
Tem certeza de que um filtro de borda é o caminho certo para detectar as veias? Você está realmente tentando extrair uma superfície 3D a partir de sua iluminação e sombra, esse tipo de coisa pode funcionar melhor: dsp.stackexchange.com/a/687/29
endolith
@vini Parece que você deseja eliminar (perder informações de alta frequência) em uma parte espacial da sua imagem, mas reter informações de alta frequência em outra parte espacial da sua imagem, sim?
Spacey
eu quero manter apenas os componentes de alta freqüência na imagem que no meu caso são bordas finas na forma de veios de uma folha ....
vini

Respostas:

7

Parece que você deseja suavizar e preservar as bordas. Você já considerou meios não-locais? Há algum código C ++ da GPL junto com uma breve descrição do algoritmo pelos autores originais aqui: http://www.ipol.im/pub/algo/bcm_non_local_means_denoising/

Uma ressalva, os meios não locais são muito lentos e a saída pode ser sensível à implementação que você possui. Você também pode considerar a minimização do ROF, pois é rápido e faz um bom trabalho em preservar as arestas. Aqui está um código matlab que faz isso: http://www.stanford.edu/~tagoldst/Tom_Goldstein/Split_Bregman.html

dranxo
fonte
Tentei fazer isso no entanto os resultados são insatisfatórios
vini
Justo. Existem maneiras de resolver "denoising de imagem binária", mas não consigo pensar em nenhum código prontamente disponível.
Este www.cmla.ens-cachan.fr/fileadmin/Membres/nikolova/ChanEseNikoSiap06.pdf pode ajudar. Você também pode tentar executar a segmentação de imagens na folha em preto e branco com diferentes parâmetros de ajuste e ver o que obtém. Há algum código de segmentação nessa página de Split Bregman.
Já experimentou que os resultados ainda não são bons o suficiente terá que tentar outra coisa que eu acho
vini
Hmm dang. Até onde eu sei, meios não-locais são o estado da arte em denoising. Como você tem uma imagem binária, pode haver outras coisas (pesquisa "denoising de texto"? "Denoising de texto não-local"?), Mas estou sem ideias.