简介
本篇主要记录下图像锐化强度自适应算法。
背景
常用锐化算法,经常遇到如下这些问题:图像噪声放大,图像锐化过度,不自然之类现象。参考网上一些论文资料,做了一个避免这些问题的图像自适应锐算法。
具体算法
1、以5x5之类窗口,将输入图像网格化。
2、通过梯度算法,计算出每个网格内平均梯度,存入掩码mask1中。
3、使用高斯之类掩码,将mask1平滑。
4、找出mask1上,梯度掩码最大值Vmax 和中间值Vmid = Vmax / 2。
5、遍历整个mask1,通过公式:w=pow(abs(mask1[i,j]-Vmib)/Vmid, 0.6)计算出每个像素对应锐化强度权重w,存入Mask2。
6、高斯模糊原图 - 原图,得到锐化掩码Mask3。
7、Mask3 * Mask2的结果,叠加到原图上,得到锐化效果。
具体原理可以理解为:将图像分成了平坦区、细节区、和强细节区。对平坦区少做锐化,可以避免颗粒感之类噪声放大;对强锐化去少做锐化,可以避免图像出现严重的过锐,不自然现象。
效果演示
左边原始图像,中间为直接锐化效果,右边为本文效果。可以看到细节锐化基本接近,但是右边图像上,颗粒感噪声明显变小很多。