对图像片段应用过滤器



有一个图像片段A = [7 8 4; 8 6 3; 8 5 1],显示应用不同滤波器的结果。

  1. 应用3*3均值滤波器
  2. 应用3*3拉普拉斯滤波器
  3. 应用3*3 Sobel滤波器测量水平方向上的梯度

下面是我的问题:

  1. 9个像素之和为50,50/9=5,因此中心像素的结果应为5。但是中心周围的像素呢
  2. 根据函数,很容易得到中心像素的值应该是8 + 5 + 8 + 3 - 4 * 6 = 0,但中心周围的像素呢?我可以复制原始值吗,因为我认为它只是图像片段
  3. 根据Sobel算子Gx = [-1 0 1; -2 0 2; -1 0 1],为了计算结果,我需要计算Gx * A。但我把乘法搞混了。这是传统的矩阵乘法吗?我不知道该怎么做

所有这些都是具有给定滤波器的图像的卷积。您的所有问题都是关于在执行此卷积时对图像片段中的边缘的处理。

特别是关于MATLAB(正如您的标签所示),如果您使用内置的conv2()函数,MATLAB会将图像和滤波器不重叠的任何区域视为0。因此,您的图像片段填充了0。

最新更新