Image Denoising con mejor preservación de bordes

12

Tengo la imagen de entrada:

ingrese la descripción de la imagen aquí

y la salida de detección de venas para la hoja usando un filtro Gabor, pero la salida es realmente ruidosa:

ingrese la descripción de la imagen aquí

Intenté usar el cambio de variación total, sin embargo, los resultados no son buenos:

ingrese la descripción de la imagen aquí

Sin embargo, no quiero perder los detalles finos en las venas de la hoja, por lo que un filtro mediano no se adaptará a mi problema

vini
fuente
¿Qué procesamiento haces en la imagen original? ¿Qué quieres detectar?
CharlesB
He usado el filtro Gabor en la imagen original
vini
¿Estás seguro de que un filtro de borde es la forma correcta de detectar las venas? Realmente estás tratando de extraer una superficie 3D de su iluminación y sombra, este tipo de cosas podrían funcionar mejor: dsp.stackexchange.com/a/687/29
endolith
@vini Parece que quiere reemplazar (perder información de alta frecuencia) en una parte espacial de su imagen, pero retener información de alta frecuencia en otra parte espacial de su imagen, ¿sí?
Spacey
Quiero retener solo los componentes de alta frecuencia en la imagen que en mi caso son bordes finos en forma de venas de las hojas ...
vini

Respuestas:

7

Suena como si quisieras reemplazar el ruido y preservar los bordes. ¿Has considerado medios no locales? Hay un código G ++ C ++ junto con una breve descripción del algoritmo por los autores originales aquí: http://www.ipol.im/pub/algo/bcm_non_local_means_denoising/

Una advertencia, los medios no locales son muy lentos y la salida puede ser sensible a la implementación que tiene. También puede considerar la minimización de ROF, ya que es rápida y hace un buen trabajo al preservar los bordes. Aquí hay un código de matlab que lo hace: http://www.stanford.edu/~tagoldst/Tom_Goldstein/Split_Bregman.html

dranxo
fuente
Lo intenté, sin embargo, los resultados no son satisfactorios
vini
Lo suficientemente justo. Hay formas de resolver la "eliminación de ruido de imágenes binarias", pero no se me ocurre ningún código disponible.
Este www.cmla.ens-cachan.fr/fileadmin/Membres/nikolova/ChanEseNikoSiap06.pdf podría ayudar. También puede intentar ejecutar la segmentación de imágenes en la hoja en blanco y negro con diferentes parámetros de ajuste y ver qué obtiene. Hay algún código de segmentación en esa página de Split Bregman.
He intentado que aún los resultados no sean lo suficientemente buenos, tendré que probar algo más, supongo
vini
Hmm dang. Hasta donde yo sé, los medios no locales son una novedad en la eliminación de ruido. Dado que tiene una imagen binaria, puede haber otras cosas (¿buscar "eliminación de ruido de texto"? ¿"Eliminación de ruido de texto no local"?) Pero no tengo ideas.