锐化图像是摄影中的一步重要操作。
锐化是通过颜色提纯达到锐化的目的。一旦锐化过度,照片很容易就会出现不自然的色斑,或溢色效果。
我们以Photoshop中的“USM锐化滤镜”为例:(为了使效果明显,我这里用了较大的锐化值)
锐化结果:可以发现鼻翼、眉毛下面、上嘴唇上面的皮肤都出现了明显的黄色色块。这就是锐化过度导致的色斑或者溢色。
如果我们将原图像复制一层,锐化以后再将图层混合模式改为“明度”,发现锐化结果如下:
可以发现鼻翼、眉毛下面、上嘴唇上面的皮肤只是更亮了一些,黄色的色块没有了。照片观感比上图好了一些。
我们知道,图像的色彩空间是可以互相转换的,例如可以从RGB模式(色彩空间)转为Lab模式,Lab通道中的a和b通道包含了颜色信息,但L通道只包含明度(细节)信息,所以L通道特别适合锐化图像。
我们可以先将图像由RGB模式转为Lab模式,再锐化Lab中的L通道,然后再转回RGB模式。这样,锐化过程就尽量减少了对颜色的破坏。
Photoshop就可以实现这种锐化过程,其实Halcon也可以。代码如下:
1 *Image是待锐化图像
2 read_image (Image, 'C:/Users/02/Desktop/ruihua.jpg')
3
4 *将Image分解为R G B三个通道,并转化为LAB色彩空间
5 decompose3 (Image, R, G, B)
6 trans_from_rgb (R, G, B, L, A, B, 'cielab')
7
8 *增强对比度,锐化边缘(锐化的是细节通道L,L通道只含细节,不含色彩)
9 emphasize (L, Emphasize_L, 7, 7, 1.5)
10
11 *将锐化以后的L通道,联同A、B通道,再重新合成一张RGB空间图像。
12 trans_to_rgb (Emphasize_L, A, B, ImageRed, ImageGreen, ImageBlue, 'cielab')
13 *ImageSharp即为最终锐化以后的图(色彩不受影响)
14 compose3 (ImageRed, ImageGreen, ImageBlue, ImageSharp)
锐化结果:
当然Halcon的锐化结果和Photoshop的锐化结果是不完全一致的,毕竟两者的锐化算法肯定不一样。本文旨在于让大家对图像的色彩空间有更深的了解,并且了解到一些锐化技巧。
参考资料:Lab颜色模型_百度百科