Débruitage d'image avec une meilleure conservation des bords

12

J'ai l'image d'entrée:

entrez la description de l'image ici

et la sortie de détection de veine pour la feuille en utilisant un filtre de Gabor, mais la sortie est vraiment bruyante:

entrez la description de l'image ici

J'ai essayé d'utiliser le débruitage de variation totale, mais les résultats ne sont pas bons:

entrez la description de l'image ici

Cependant, je ne veux pas perdre les petits détails dans les nervures de la feuille, donc un filtre médian ne conviendra pas à mon problème

vini
la source
quel traitement faites-vous sur l'image originale ?? Que voulez-vous détecter?
CharlesB
j'ai utilisé le filtre gabor sur l'image originale
vini
Êtes-vous sûr qu'un filtre de bord est la bonne façon de détecter les veines? Vous essayez vraiment d'extraire une surface 3D de son éclairage et de son ombre, ce genre de chose pourrait mieux fonctionner: dsp.stackexchange.com/a/687/29
endolith
@vini On dirait que vous voulez débruiter (perdre des informations haute fréquence) sur une partie spatiale de votre image, mais conserver des informations haute fréquence sur une autre partie spatiale de votre image oui?
Spacey
je ne veux conserver que les composants haute fréquence dans l'image qui dans mon cas sont de fins bords en forme de nervures de feuilles ....
vini

Réponses:

7

On dirait que vous voulez débruiter et conserver les bords. Avez-vous envisagé des moyens non locaux? Il y a du code C ++ GPL'd avec un bref résumé de l'algorithme par les auteurs originaux ici: http://www.ipol.im/pub/algo/bcm_non_local_means_denoising/

Une mise en garde, les moyens non locaux sont très lents et la sortie peut être sensible à l'implémentation que vous avez. Vous pouvez également considérer la minimisation du ROF car elle est rapide et fait un bon travail de préservation des bords. Voici un code matlab qui le fait: http://www.stanford.edu/~tagoldst/Tom_Goldstein/Split_Bregman.html

dranxo
la source
j'ai essayé mais les résultats ne sont pas satisfaisants
vini
C'est suffisant. Il existe des moyens de résoudre le "débruitage d'image binaire", mais je ne vois aucun code facilement disponible.
Ce www.cmla.ens-cachan.fr/fileadmin/Membres/nikolova/ChanEseNikoSiap06.pdf pourrait vous aider. Vous pouvez également essayer d'exécuter la segmentation d'image sur la feuille noir et blanc avec différents paramètres de réglage et voir ce que vous obtenez. Il y a du code de segmentation sur cette page Split Bregman.
J'ai essayé que les résultats ne sont toujours pas assez bons, je devrais essayer autre chose, je suppose
vini
Hmm dang. Autant que je sache, les moyens non locaux sont à la pointe de la technique en matière de débruitage. Puisque vous avez une image binaire, il peut y avoir d'autres choses (recherche "débruitage de texte"? "Débruitage de texte non local"?) Mais je suis à court d'idées.