我有输入图像:



以及使用Gabor滤波器对叶子进行静脉检测的输出,但输出确实很嘈杂:



我尝试使用总变异去噪,但效果不佳:叶脉中的细微细节,所以中值滤镜不适合我的问题

评论

您对原始图像进行什么处理?您想检测什么?

我在原始图像上使用了gabor滤镜

您确定边缘过滤器是检测静脉的正确方法吗?您实际上是在尝试从其照明和阴影中提取3D表面,这种方法可能会更好:dsp.stackexchange.com/a/687/29

@vini听起来您想对图像的一个空间部分进行去噪(丢失高频信息),而在图像的另一空间部分上保留高频信息,是吗?

我只想保留图像中的高频分量,在我的情况下,这些高频分量是叶脉形式的细边....

#1 楼

听起来像您想去噪并保留边缘。您是否考虑过非本地方式?这里有一些由GPL编写的C ++代码,以及原始作者对该算法的简要介绍:http://www.ipol.im/pub/algo/bcm_non_local_means_denoising/速度非常慢,并且输出可能会对您的实现敏感。您也可以考虑将ROF最小化,因为它快速且在保留边缘方面做得很好。这是一些执行此操作的matlab代码:http://www.stanford.edu/~tagoldst/Tom_Goldstein/Split_Bregman.html

评论


$ \ begingroup $
我尝试过,但是结果并不令人满意
$ \ endgroup $
– Vini
2012年4月16日在4:36

$ \ begingroup $
很公平。有多种方法可以解决“二进制图像降噪”问题,但是我想不出任何现成的代码。
$ \ endgroup $
–rcompton
2012年4月16日下午4:46

$ \ begingroup $
此www.cmla.ens-cachan.fr/fileadmin/Membres/nikolova/ChanEseNikoSiap06.pdf可能会有所帮助。您也可以尝试使用不同的调整参数在黑白叶子上运行图像分割,然后查看得到的结果。在Split Bregman页面上有一些细分代码。
$ \ endgroup $
–rcompton
2012年4月16日下午4:57

$ \ begingroup $
尝试过仍然无法取得令人满意的结果,我想必须尝试其他方法
$ \ endgroup $
– Vini
2012年4月16日5:30在

$ \ begingroup $
嗯,当据我所知,在消噪方面非本地手段是最先进的。由于您具有二进制图像,因此可能还有其他内容(搜索“文本去噪”或“非本地文本去噪”?),但是我没有主意。
$ \ endgroup $
–rcompton
2012年4月16日在6:28