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

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

我们以Photoshop中的“USM锐化滤镜”为例:(为了使效果明显,我这里用了较大的锐化值)

锐化结果:可以发现鼻翼、眉毛下面、上嘴唇上面的皮肤都出现了明显的黄色色块。这就是锐化过度导致的色斑或者溢色。

如果我们将原图像复制一层,锐化以后再将图层混合模式改为“明度”,发现锐化结果如下:

可以发现鼻翼、眉毛下面、上嘴唇上面的皮肤只是更亮了一些,黄色的色块没有了。照片观感比上图好了一些。

我们知道,图像的色彩空间是可以互相转换的,例如可以从RGB模式(色彩空间)转为Lab模式,Lab通道中的a和b通道包含了颜色信息,但L通道只包含明度(细节)信息,所以L通道特别适合锐化图像

我们可以先将图像由RGB模式转为Lab模式,再锐化Lab中的L通道,然后再转回RGB模式。这样,锐化过程就尽量减少了对颜色的破坏。

Photoshop就可以实现这种锐化过程,其实Halcon也可以。代码如下:

 *Image是待锐化图像
read_image (Image, 'C:/Users/02/Desktop/ruihua.jpg') *将Image分解为R G B三个通道,并转化为LAB色彩空间
decompose3 (Image, R, G, B)
trans_from_rgb (R, G, B, L, A, B, 'cielab')

*增强对比度,锐化边缘(锐化的是细节通道L,L通道只含细节,不含色彩
emphasize (L, Emphasize_L, 7, 7, 1.5)

*将锐化以后的L通道,联同A、B通道,再重新合成一张RGB空间图像。
trans_to_rgb (Emphasize_L, A, B, ImageRed, ImageGreen, ImageBlue, 'cielab')
*ImageSharp即为最终锐化以后的图(色彩不受影响)
compose3 (ImageRed, ImageGreen, ImageBlue, ImageSharp)

锐化结果:

当然Halcon的锐化结果和Photoshop的锐化结果是不完全一致的,毕竟两者的锐化算法肯定不一样。本文旨在于让大家对图像的色彩空间有更深的了解,并且了解到一些锐化技巧。

参考资料:Lab颜色模型_百度百科

Photoshop和Halcon如何锐化彩色图像不伤其颜色的更多相关文章

  1. Photoshop和Halcon中的极坐标变换

    极坐标想必学过高中数学的人都听过,一般的坐标系中用(x, y)值来描述一个点的位置,而在极坐标系中,则使用到原点的距离ρ和夹角θ来描述该点的位置. 我很早就接触了Photoshop,知道Photosh ...

  2. OpenCV实现彩色图像轮廓 换背景颜色

    转摘请注明:https://i.cnblogs.com/EditPosts.aspx?opt=1 有时候我们需要不一样颜色的证件照,下面就用OpenCV来实现证件照的蓝底.红底等换颜色: 代码如下: ...

  3. SSE图像算法优化系列十六:经典USM锐化中的分支判断语句SSE实现的几种方法尝试。

    分支判断的语句一般来说是不太适合进行SSE优化的,因为他会破坏代码的并行性,但是也不是所有的都是这样的,在合适的场景中运用SSE还是能对分支预测进行一定的优化的,我们这里以某一个算法的部分代码为例进行 ...

  4. Photoshop的混合模式

    1.亮度是一种颜色的相对亮度,饱和度是指一种颜色的纯度(颜色中包含多少灰) 2.混合模式 下层图片的颜色像素称为"基本颜色":选定的称为"混合"颜色,对于大部分 ...

  5. [转帖]音响及DarBee

    红外与蓝牙的差别 1.距离 红外:对准.直接.1—2米,单对单 红外线可以用你的手机摄像头看到  蓝牙:10米左右,可加强信号,可以绕弯,可以不对准,可以不在同一间房间,链接最大数目可达7个,同时区分 ...

  6. Less函数说明

    索引 escape(@string); // 通过 URL-encoding 编码字符串 e(@string); // 对字符串转义 %(@string, values...); // 格式化字符串 ...

  7. 【转载】GPU 加速下的图像处理

    Instagram,Snapchat,Photoshop. 所有这些应用都是用来做图像处理的.图像处理可以简单到把一张照片转换为灰度图,也可以复杂到是分析一个视频,并在人群中找到某个特定的人.尽管这些 ...

  8. 多通道(Multichannel)单通道(singlechannel)图像概念梳理

    在做机器视觉时,常常要将一个多通道图像分离成几个单通道图像或者将几个单通道图像合成一个多通道图像,以方便图像处理,但是.写这篇博客,是为加深对这两个概念的理解,下面会给出部分OpenCV对单通道与多通 ...

  9. [OpenCV] Image Processing - Image Elementary Knowledge

    "没有坚实的理论基础,实践只会浅尝于表面." 这是两本打基础的书,没系统学过的话,怎么好意思说自己会CV. 该领域,兴军亮 这个名字屡次出现,看来是计算机视觉领域国内的年轻才俊,向 ...

随机推荐

  1. Pip,pywin32,whl文件下载网址,mayavi安装包,PyQt5安装,PyMuPDF安装等注意事项

    (1)pip安装的包不一定是用户想要的位置,此时可以用 -t 选项来指定位置. 例如目标位置是/usr/local/lib/python2.7/site-packages/ ,要安装xlrd 这个包 ...

  2. 十三、react-router 4.x的基本配置

    路由的定义及作用 根组件根据客户端不同的请求网址显示时,要卸载上一个组件,再挂载下一个组件,如果手动操作话将是一个巨大麻烦.具体过程如下图: [根组件] ↑ [首页组件] [新闻组件] [商品组件] ...

  3. 【剑指Offer】面试题22. 链表中倒数第k个节点

    题目 输入一个链表,输出该链表中倒数第k个节点.为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点.例如,一个链表有6个节点,从头节点开始,它们的值依次是1.2.3.4.5.6. ...

  4. 【LeetCode】解码方法

    [问题] 一条包含字母 A-Z 的消息通过以下方式进行了编码:'A' -> 1'B' -> 2…'Z' -> 26给定一个只包含数字的非空字符串,请计算解码方法的总数. 示例 : 输 ...

  5. 201812-2 小明放学 Java

    思路: 红绿灯每种灯亮划分区间,在[0,r]区间内红灯亮,在(r,g+r]区间内绿灯亮,在(r+g,r+g+y]区间内黄灯亮,在划分好区间后只需要判断当小明到达红绿灯时是哪个灯在亮,就可以判断出通过红 ...

  6. mariadb主从

    实验环境: 两台centos7 master:192.168.1.6 slave:192.168.1.7 一.安装mariadb服务 [root@master ~]# yum -y install m ...

  7. Mac Eclipse 打包可执行jar文件

    2 3 4 保存后 终端 cd 目录 java -jar xxxx.jar

  8. cf1208 E Let Them Slide(差分+RMQ\单调队列)

    题意 如题目的图所示,每行都可以左右移动,但是数字不允许断开,且不许越界(宽度为w). 单独求每一列的最大的和为多少. 思路 对于每一列来说,在每一行上都有一个可以取到的区间, 所以,对于一列来说,答 ...

  9. Vue 指令 v-text v-html

    有三个指令达到的效果是一样的 {{JS表达式}}  差值表达式 v-text="JS表达式" v-html="JS表达式"   //会自动解析tag js表达式 ...

  10. VS2013 MFC opencv 播放视频

    看网上有很多人用的还是CvvImage类,但是Opencv3.0已经没有CvvImage这个类了.百度得之可以使用以前的类,稍作修改就可以了. 头文件: #pragma once #ifndef CV ...