返回

图像锐化

Image Sharpening - 梯度边缘强度与 Laplace 增强
第二章 / 图像预处理
参数面板

图像锐化通过增强灰度突变区域来突出边缘和轮廓;左侧参数可切换教学示例、锐化方法及梯度合成方式,主区展示当前窗口的逐像素计算过程。

窗口定位辅助操作
用方向键或下方 4 个按钮移动当前窗口;也可以直接点击原图或结果图跳转。
当前像素 (0, 0)1 / 4096
方向
概念说明

锐化要增强什么

锐化通过增强局部变化,让轮廓和纹理更清楚。图源:scikit-image unsharp mask 示例
任务

当图像因为拍摄抖动、对焦不实或压缩而边缘发虚时,轮廓和纹理的细节会变模糊。任务是让边缘处的亮暗变化更陡峭,使轮廓重新清晰,而不是简单把整幅图变亮。

思路

常用的处理办法是:先提取图像的,找到边缘和纹理的位置;再把这部分变化量按一定比例叠加回原图;也可以先做一次轻微模糊得到,用原图减去低频图得到边缘细节,最后把细节加回去。参数越大边缘越突出,但噪声和伪影也可能被一起放大。

观察

拖动窗口到边缘位置,比较原图窗口、提取出的边缘响应和锐化后的输出;切换锐化强度,观察平坦区域几乎不变、边缘处变化加剧,同时注意过强参数会让噪声和伪影一起变得明显。

方向键移动 / 点击原图或结果图跳转当前结果像素 (0, 0)
1 / 4096
原图64×64
真实 Lena 灰度图,红点表示当前中心像素
锐化处理
1 / 4096
结果64×64
绿色框表示当前输出像素
当前像素 (0, 0)
邻域 3×3,中心值 = 0.458
梯度差分
fx =f(1,0)-f(0,0) =0.0703
fy =f(0,1)-f(0,0) =-0.0014
grad= max( |fx| , |fy| ) =0.0703
输出像素 (0, 0)
0.0703
output8-bit (0,0) =round(255×0.0703) =18
内部为归一化灰度,显示为 8-bit 时裁剪到 0 到 255
一阶梯度(边缘强度)公式
grad(x,y) = max( |fx| , |fy| )
该模式展示梯度幅值(边缘强度图),是对锐化思想的简化;完整梯度锐化需将梯度加回原图。在离散图像中,偏导数用一阶差分近似。
当前像素 (0, 0) 代入计算
3×3 邻域矩阵
0.458
0.458
0.528
0.458
0.458
0.528
0.456
0.456
0.526
红色 = 当前像素 f(0,0),黄色 = 差分计算用邻域像素
一阶差分计算
fx =f(1,0)-f(0,0) =0.5281 -0.4578 =0.0703
fy =f(0,1)-f(0,0) =0.4563 -0.4578 =-0.0014
梯度幅值合成
|fx| =0.0703 , |fy| =0.0014
grad= max( |fx| , |fy| ) =0.0703
output(0,0) =0.0703
output8-bit (0,0) =round(255×0.0703) =18
梯度值越大说明该位置灰度变化越剧烈(边缘越明显)。计算过程使用归一化灰度;按 8-bit 显示时必须裁剪到 0 到 255。
一阶梯度(边缘强度)与 Laplace 增强的区别
一阶梯度(边缘强度)

直接度量相邻像素的灰度变化,输出为“边缘强度图”。它能突出突变位置,但平坦区域通常接近 0;完整锐化还需将梯度加回原图。

Laplace 增强

先计算二阶差分,再回写到原图上增强反差,因此更接近“锐化后的图像”。它对边缘和噪声都会更敏感。