先观察右侧三层链路,再结合参数调整;当前窗口、翻转核权重和原始卷积和是一条连续证据链,主图结果为归一化后的亮度显示。
示例图保持小尺寸,并默认采用不补零卷积。输出边长 = 输入边长 - 核大小 + 1。
先选预设类别,再选支持的核大小。导数类预设通常只提供到 7×7;11×11 主要保留恒等、均值和高斯这类大核平滑模板。
当 3×3 或更大的小窗口滑到图像某个位置时,需要把窗口里的每个像素按一定权重加权求和,得到一个新的输出像素。问题是这些权重从何而来,以及不同权重会产生什么效果。
常用办法是定义一个卷积核来规定窗口里每个位置的权重:可以全部取相同值做平滑平均,也可以中心为正、周围为负来提取边缘,还可以让权重朝某个方向倾斜以检测特定走向的轮廓。换核就是换计算规则。
拖动窗口看当前邻域里的原始像素,再对照核矩阵里逐项相乘后的结果:改变核类型或核大小,输出变化来自权重分布和窗口范围的改变。
下方内容只保留一个公式,并把上方当前计算步骤如何代入该公式明确展开。
当前步中,红色输入窗口覆盖原图第 1 到 3 行、第 1 到 3 列; 该区域对应公式中的输入项 。
黄色卷积核先展示参数区输入的核模板,真正参与卷积求和的是它关于中心翻转后的权重 。蓝色乘积矩阵给出 的逐项结果,对全部 9 项求和后,得到当前输出值 0.00, 对应结果图第 1 行、第 1 列的原始卷积值。右侧主图为了方便比较不同核的响应强弱,显示的是整张结果图归一化后的亮度版本。
下面四个对象与上方当前流程一一对应:输入窗口、卷积核、逐项乘积以及输出结果。
卷积核可以理解成一张局部权重表:窗口里的每个像素都先乘上对应权重,再把全部乘积求和。
只保留中心像素,输出基本等于输入,用来说明“卷积核就是一组局部权重”。
无论核大小是多少,只有中心位置权重为 1,其余位置全为 0,因此邻域像素不会参与输出。
它对应离散情形下的单位冲激思想:只保留中心项时,卷积结果尽量保持原信号本身。
窗口内所有位置同权参与,适合讲清楚“局部平均/等权平滑”这一类卷积思路。
每个像素都以相同权重参与求和;若再除以全部权重之和,就得到标准的均值滤波。
它来自局部平均的统计思想:不再只看中心点,而是把周围像素一起纳入估计,用整体趋势抑制随机波动。
中心权重大、边缘权重小,适合说明“平滑但尽量保留结构”的思路。
越靠近中心的像素权重越大,越远的像素权重越小,因此比等权平均更温和,也更符合局部邻域的自然衰减。
它来自高斯分布和尺度空间思想,是图像平滑里最经典、最标准的一类卷积核。
强调像素突变的位置,常用来检测边缘或轮廓,对亮度突变特别敏感。
它本质上是二阶差分。3×3 使用经典模板,更大的 5×5、7×7 版本则在二阶差分周围加入了更宽的平滑支撑。
它来源于离散形式的二阶导数;在图像处理中,二阶差分常用来突出“变化率本身是否突然改变”。
突出左右方向的亮度变化,因此更容易检测竖直边缘。
它把“水平方向一阶差分”和“垂直方向平滑”结合在一起;核越大,参与比较的邻域越宽。
它是经典的一阶导数卷积核族。3×3 最常见,5×5 和 7×7 则表示更大尺度的方向导数。
突出上下方向的亮度变化,因此更容易检测水平边缘。
它把“垂直方向一阶差分”和“水平方向平滑”结合在一起;核越大,参与比较的邻域越宽。
它是经典的一阶导数卷积核族。3×3 最常见,5×5 和 7×7 则表示更大尺度的方向导数。