Обесцвечивание изображения с лучшим сохранением края

12

У меня есть входное изображение:

введите описание изображения здесь

и вывод обнаружения вены для листа с использованием фильтра Габора, но вывод действительно шумный:

введите описание изображения здесь

Я попробовал использовать шумоподавление Total вариации, но результаты не очень хорошие:

введите описание изображения здесь

Однако я не хочу терять мелкие детали в венах листа, поэтому медианный фильтр не подойдет моей проблеме.

вини
источник
какую обработку вы делаете на оригинальном изображении ?? Что вы хотите обнаружить?
CharlesB
я использовал Габор фильтр на исходное изображение
Вини
Вы уверены, что краевой фильтр - верный способ обнаружить вены? Вы действительно пытаетесь извлечь 3D поверхность от его освещения и тени, такого рода вещи могли бы работать лучше: dsp.stackexchange.com/a/687/29
эндолиты
@vini Звучит так, будто вы хотите снять шум (потерять высокочастотную информацию) в одной пространственной части вашего изображения, но сохранить высокочастотную информацию в другой пространственной части вашего изображения, да?
Spacey
я хочу сохранить только высокочастотные компоненты в изображении, которые в моем случае являются тонкими краями в виде вен листа ....
vini

Ответы:

7

Звучит так, будто вы хотите снять шум и сохранить края. Вы рассматривали нелокальные средства? Здесь есть некоторый код C ++ под GPL, а также краткое описание алгоритма авторами здесь: http://www.ipol.im/pub/algo/bcm_non_local_means_denoising/

Одно предостережение, нелокальные средства очень медленные, и результат может быть чувствительным к вашей реализации. Вы также можете рассмотреть возможность минимизации ROF, поскольку она быстра и хороша для сохранения краев. Вот код Matlab, который это делает: http://www.stanford.edu/~tagoldst/Tom_Goldstein/Split_Bregman.html

dranxo
источник
Я пытался, однако, результаты неудовлетворительные
Vini
Справедливо. Есть способы решить проблему «шумоподавления двоичных изображений», но я не могу придумать ни одного легкодоступного кода.
Это может помочь www.cmla.ens-cachan.fr/fileadmin/Membres/nikolova/ChanEseNikoSiap06.pdf. Вы также можете попробовать запустить сегментацию изображения на черно-белом листе с различными параметрами настройки и посмотреть, что вы получите. На этой странице Split Bregman есть некоторый код сегментации.
Пытался, что результаты все еще не достаточно хороши, придется попробовать что-то еще, я думаю
vini
Хм черт. Насколько я знаю, нелокальные средства - это современный уровень шума. Так как у вас есть бинарное изображение, могут быть другие вещи (поиск «удаление шума из текста»? «Удаление шума из нелокального текста»?), Но у меня нет идей.