找到噪声图像边缘的最佳方法

use*_*460 3 matlab image image-processing edge-detection

我有一个噪音图像,如波纹图.假设它是高斯噪声.目前,我正在使用两个步骤来查找边缘

  1. 使用高斯滤波器G平滑图像
  2. 根据等式找到边缘

    g = 1 /(1 +β∇(I*G)^ 2)

其中G是高斯滤波器.β是控制噪音水平的重量.

然而,高斯滤波器是图像边缘丢失的原因.我想找到一个更好的方法来保存边缘信息.您能否向我建议找到该图像边缘的最佳方法?

这是我上述步骤的结果

在此输入图像描述

这是我正在处理的噪声添加的图像:

在此输入图像描述

为了获得优势,这是我写的MATLAB代码:

beta=0.01;
G = fspecial('gaussian',[3 3],1);
I_G = conv2(I,G,'same');
[Gx,Gy] = gradient(I_G);
NormGrad = sqrt(Gx.^2 + Gy.^2); 
g = 1./ (1 + beta* NormGrad.^2);
imshow(g,[]);
Run Code Online (Sandbox Code Playgroud)

ray*_*ica 5

典型的边缘保持平滑滤波器应该足以满足您的特定应用.这些同时消除噪声(高斯分布式I应添加......),同时尽可能保持边缘.经典的例子包括双边滤波器,Kaiming He 的Guided图像滤波器,Gastal和Oliveira的域变换滤波(我过去已成功使用)甚至各向异性扩散.

为了快速尝试,Guided图像滤镜现在作为官方功能包含在内,这是自MATLAB R2014a以来通过该imguidedfilter功能的图像处理工具箱的一部分.如果您没有MATLAB R2014a或更高版本,那么您可以通过此链接下载代码的原始MATLAB源代码:http://kaiminghe.com/eccv10/guided-filter-code-v1.rar,但您可以从我上面链接到你的主网站上得到这个.

假设您没有R2014a,请下载Guided图像过滤器代码,然后使用它来过滤您的示例.鉴于您链接到已被噪声损坏的示例图像,我下载了它并在下面的代码中使用它:

I = im2double(imread('http://i.stack.imgur.com/ACRE8.png')); %// Load in sample image that was corrupted by noise
r = 2; %// Parameters for the Guided image filter
eps = 0.1^2;

%// Filter the image, using itself as a guide
q = guidedfilter(I, I, r, eps);

%// Show the original image and the filtered result
figure;
subplot(1,2,1); imshow(I, []);
subplot(1,2,2); imshow(q, []);
Run Code Online (Sandbox Code Playgroud)

我们显示原始图像,然后是右侧的引导过滤结果:

在此输入图像描述

一旦我们有了这个,尝试使用任何规范的边缘检测器来检测边缘.您使用的那个在找到边缘之前预先模糊图像,但是使用标准平滑并且它会错过某些边缘.因为使用Guided图像滤镜可以使我们保持边缘并且整个图像基本上没有噪声,所以我们可以在边缘平滑结果上尝试像Sobel滤镜一样简单的东西:

[Gmag,~] = imgradient(q, 'sobel');
imshow(max(Gmag(:)) - Gmag,[]);
Run Code Online (Sandbox Code Playgroud)

上面的代码用于imgradient查找图像渐变,然后我们通过反转强度显示图像,以便黑色值变为白色,白色变为黑色,如您的示例所示.

......我们得到这个:

在此输入图像描述

正如你所看到的,即使存在噪音,我们仍然可以敲出许多边缘.

  • @ user3051460 - 我认为最好是**你自己在我和Ander写的东西之间进行比较,你自己想出什么方法更好.你是决定这一点的最好的人,让我们为你做比较不会让你学到任何东西.一个简单的测试可能是对渐变图像进行阈值处理,使它们成为边缘像素,然后在两个图像之间进行SSD.PSNR也是一种很好的方法,您可以在这里查看如何计算它:http://stackoverflow.com/questions/16264141/power-signal-noise-ratio-psnr-of-colored-jpeg-image/16265510#16265510 (2认同)