У меня есть входное изображение:
и вывод обнаружения вены для листа с использованием фильтра Габора, но вывод действительно шумный:
Я попробовал использовать шумоподавление Total вариации, но результаты не очень хорошие:
Однако я не хочу терять мелкие детали в венах листа, поэтому медианный фильтр не подойдет моей проблеме.
Ответы:
Звучит так, будто вы хотите снять шум и сохранить края. Вы рассматривали нелокальные средства? Здесь есть некоторый код 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
источник