Lab颜色空间及其应用
Lab颜色空间及其应用
from: http://nkwavelet.blog.163.com/blog/static/227756038201441624345947/
本文首先阐述Lab颜色模式的基本特性,然后介绍RGB和Lab颜色空间互相转换的算法,并给出算法核心代码和效果图,最后将Lab颜色空间应用到几个特效滤镜中,得到几个类似photoshop滤镜效果图。
【参考资料】
http://hi.baidu.com/im_wxj/item/c43e52cbaab6373399b4984d
http://hao.qinz.net/comments.php?y=08&m=07&entry=entry080727-033517
http://blog.sina.com.cn/s/blog_46e3af5b0100u7wt.html ( 该文中的代码有bug,在本文中已经修正 )
1. Lab颜色空间简介
Lab颜色模式的特点:
下图所示为Lab颜色空间的图示:
计算完成后,XYZ的取值范围分别是:[0, 0.950456],[0, 1],[0, 1.088754].
然后是XYZ到Lab的转换:
其中函数 f(t) 的定义如下:
原始图 RGB->Lab->RGB(中间未作任何处理)
原始图 RGB->Lab->RGB(中间未作任何处理)
// 将RGB转化为Lab值函数
void RGB2Lab(int R, int G, int B, double &L, double &a, double &b)
// 将Lab转化为RGB值函数
L通道 :调整图像的亮度,当然亮度有暗、中间调和高光区之分。对亮度实施线性或Gamma等变换相当于在图像上添加强光或暗光。
a通道 :深绿 --- 50%灰(中性灰)-- 红色。
b通道 :亮蓝 --- 50%灰(中性灰)--- 黄色。
暖色 冷色
强光 暗光
Lab颜色空间及其应用相关推荐
- Python实现RGB和Lab颜色空间互转
Python实现RGB和Lab颜色空间互转 https://github.com/rubund/debian-home-assistant/blob/1a3e8f7e4b9ddec60a4380e14 ...
- MATLAB 将RGB颜色空间转为HSI颜色空间、LAB颜色空间 原理及程序
一张彩色图像是由R.G.B三个通道组成,所以首先需要将彩色图像分为三个通道的图像. 以下是对猫图进行单通道提取得到的图像. HSI颜色空间 HSI[Hue-Saturation-Intensity(L ...
- 【OpenCV】Lab颜色空间
一.Lab颜色空间概念 Lab是一种色彩空间,也即一种颜色模型,是在1931年国际照明委员会(CIE)制定的颜色度量国际标准的基础上建立的,在1976年又经修订并被命名为CIELab.它包括人眼所能看 ...
- OpenCV颜色空间——Lab颜色空间
对于Lab颜色空间,OpenCV同样实现了BGR和Lab之间的转换,如果BGR的值在[0,1]之间,那么转换为Lab的取值范围为: ,, 通过以下程序调节L分量,观察其效果: #include< ...
- RGB、HSV和Lab颜色空间
https://blog.csdn.net/fred_yang2013/article/details/11083691 http://blog.csdn.net/carson2005/article ...
- 基于LAB颜色空间的彩色图像分割
基于LAB颜色空间的彩色图像分割 首先加载原始图像 fabric = imread('fabric.png'); figure(1), imshow(fabric), title('fabric'); ...
- LAB颜色空间各通道的取值范围
同RGB颜色空间相比,Lab是一种不常用的色彩空间.它是在1931年国际照明委员会(CIE)制定的颜色度量国际标准的基础上建立起来的.1976年,经修改后被正式命名为CIELab.它是一种设备无关的颜 ...
- RGB与Lab颜色空间互相转换
RGB与Lab颜色空间互相转换 1.Lab颜色空间 同RGB颜色空间相比(见博客<光与色的故事--颜色空间浅析>),Lab是一种不常用的色彩空间.它是在1931年国际照明委员会(CIE)制 ...
- 彻底搞懂Lab 颜色空间
本文参考wikipedia,并加入了自己的理解,有不对的地方多多指教~ 名称 在开始之前,先明确一下Lab颜色空间(Lab color space)的名字: - Lab的全称是CIELAB,有时候也写 ...
最新文章
- VTK:PolyData之PolyDataCellNormals
- WeChat报错navigateTo:fail can not navigateTo a tabbar page
- 趣谈设计模式 | 外观模式(Facade):为子系统提供高粒度接口
- GIT项目管理工具(part7)--移动或者删除文件
- java zar_唬人的Java泛型并不难
- 不停机上线服务_手机停机也能迅速交话费!微信和三大运营商联手开了“绿色通道”...
- java 同步块_java 同步块(Java Synchronized Blocks)
- 基础算法---二分查找
- mysql基础之mariadb库管理和表管理语句
- eclipse 使用问题
- 计算机复试面试题总结
- 运行c程序的步骤及方法
- The Learnning of ROS Navigation Source Code---09-17
- 建模练习——扇贝单词
- 【自学Java】Java switch语句
- 亚马逊ERP贴牌OEM代理贴牌是什么意思 起到一个什么样的作用
- 设计一款CPU芯片到底有多难?
- Linux 虚拟内存和物理内存的理解(转)
- 51nod 1479 小Y的数论题
- 105,106数学思维
热门文章
- 跟我学Linux系统管理 第三讲 磁盘管理
- 算法设计与分析-习题-用生成函数求解递归方程f(n)=2f(n/2)+cn,f(1)=0
- sql中替换字段的部分字符
- word2vec的pytorch实现
- Spring data Mongo $map转写用例
- 【电力电子技术DC-AC】三相SPWM逆变器Simulink仿真(设置死区时间)
- 干货|最全焊接不良汇总,你知道如何避免吗?
- 泰克mdo3014使用手册_泰克示波器MDO3014故障维修案例分享
- 小程序获取上一页的数据修改上一个页面的数据
- 雷电模拟器dnconsole命令汇总