导数滤波器的MATLAB实现
我的任务是实现一个3x3 x导数图像滤波器,它利用并同时执行y方向的高斯平滑 我有一个x方向(h=1)的任务公式,我不确定我是否理解正确:导数滤波器的MATLAB实现,matlab,image-processing,Matlab,Image Processing,我的任务是实现一个3x3 x导数图像滤波器,它利用并同时执行y方向的高斯平滑 我有一个x方向(h=1)的任务公式,我不确定我是否理解正确: (f(x+h;y)-f(x-h;y)) / 2*h 相对于当前像素(x),我在当前像素前面取像素值+1,然后从当前像素后面-1位置的像素减去该值。这个值是否除以2,然后在x方向上或多或少地得到我的一阶导数?我的实际当前像素值根本没有使用吗?传统上,对于图像,中心不用于衍生过滤器。理由如下 大多数图像处理过滤器的目的是在原始图像中找到东西,并识别它们。因此,
(f(x+h;y)-f(x-h;y)) / 2*h
相对于当前像素(x),我在当前像素前面取像素值+1,然后从当前像素后面-1位置的像素减去该值。这个值是否除以2,然后在x方向上或多或少地得到我的一阶导数?我的实际当前像素值根本没有使用吗?传统上,对于图像,中心不用于衍生过滤器。理由如下
[0 1 3 2 10 12 8 11];
[0 -2 -1 -7 -10 2 1 0 ];
请注意,两个最高的幅值正好位于峰值处。尝试使用其他内核,包括一些中心值不为0的内核,然后查看结果
(*)内核表示您正在执行的函数。在您提供的示例中,内核是[10-1]传统上,中心不用于衍生过滤器。理由如下
[0 1 3 2 10 12 8 11];
[0 -2 -1 -7 -10 2 1 0 ];
请注意,两个最高的幅值正好位于峰值处。尝试使用其他内核,包括一些中心值不为0的内核,然后查看结果
(*)内核表示您正在执行的函数。在您提供的例子中,内核是[10-1]这目前不是一个真正的编程问题,因此可能更适合。一旦您有了过滤器,matlab的conv2()是一种将其应用于图像的简单方法。这目前不是一个真正的编程问题,因此可能更适合。一旦您有了过滤器,matlab的conv2()是将其应用于图像的简单方法。