使用拉普拉斯内核锐化 - 如何处理输出(特别是负值)?

信息处理 图像处理 增强
2022-02-07 10:16:08

为了使用拉普拉斯核锐化图像,它应该与原始图像进行卷积。

很明显,结果可能有负值。我不确定如何处理这些值:

  1. 从拉普拉斯算子中减去最小值,然后映射到 [0, 255]
  2. 将负值裁剪为零并映射到 [0, 255]
  3. 只需将负值剪辑为零

我知道下一步是在原始图像中添加/减去拉普拉斯算子并映射到 [0, 255] 但我对拉普拉斯算子有疑问。

事实上,我测试了所有三种方法,2、3 让我得到了正确的结果,但根据我的图像处理教科书,拉普拉斯算子应该被缩放,但没有明确提到使用哪个版本的拉普拉斯算子来导出锐化图像。

谢谢!

1个回答

@SOFUser ,欢迎来到我们的社区。

由于高通滤波器(例如拉普拉斯内核)的输出均值为零(当直流分量被移除时),它确实可以(应该)具有负值,因为输出在零附近振荡。

如何处理它取决于目标:

  1. 显示目的
    如果想要显示锐化/HPF 过滤器过程的输出,通常会为其添加 50% 的灰度。如果是8 [Bit]图像,则意味着添加127/ 128这就是 Adob​​e Photoshop 中的功能。
  2. 处理目的
    通常我们保留负值,因为它们在接下来的步骤中可能很重要。例如,在拉普拉斯金字塔中,如果不保留负值,则重建将不准确。另一个例子是锐化,我们将按锐化因子缩放的拉普拉斯滤波器的输出添加到图像中以使图像锐化。
  3. 生成图像
    如果想要生成图像并以其中一种UINT基础格式(JPEG、PNG 等)存档,通常会将数据剪辑到兼容范围内。