zoukankan      html  css  js  c++  java
  • Photoshop和Halcon如何锐化彩色图像不伤其颜色

    锐化图像是摄影中的一步重要操作。

    锐化是通过颜色提纯达到锐化的目的。一旦锐化过度,照片很容易就会出现不自然的色斑,或溢色效果。

    我们以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颜色模型_百度百科

  • 相关阅读:
    云计算管理平台之OpenStack启动虚拟机实例
    云计算管理平台之OpenStack网络服务neutron
    云计算管理平台之OpenStack计算服务nova
    云计算管理平台之OpenStack镜像服务glance
    云计算管理平台之OpenStack认证服务Keystone
    云计算管理平台之OpenStack简介及基础环境搭建
    jumpserver部署使用
    分布式消息系统之Kafka集群部署
    写好C#代码的技巧
    .NET应用程序7种最常见的性能问题及其解决方案
  • 原文地址:https://www.cnblogs.com/xh6300/p/12103464.html
Copyright © 2011-2022 走看看