一、介绍

1.简洁总结重点:
Yxy代表亮度、色相、色度。XYZ中X、Y、Z是对R、G、B的一种线性变换,XYZ也分别代表了RGB三基色刺激值的概念。这三者之间可相互转换。

xy分别是XY对XYZ三者之和的比值,x可以理解为红色分量,y为绿色分量,而Y与XYZ中的Y一样。

2.由来:
国际照明委员会(CIE)在进行了大量正常人视觉测量和统计,1931年建立了"标准色度观察者", 从而奠定了现代CIE标准色度学的定量基础。

由于"标准色度观察者"用来标定光谱色时出现负刺激值,计算不便,也不易理解,因此1931年CIE在RGB系统基础上,改用三个假想的原色X、Y、 Z建立了一个新的色度系统。将它匹配等能光谱的三刺激值,定名为"CIE1931 标准色度观察者 光谱三刺激值",简称为"CIE1931标准色度观察者"。

这一系统叫做"CIE1931标准色度系统"或称为" 2° 视场XYZ色度系统"。CIEXYZ颜色空间稍加变换就可得到Yxy色彩空间,其中Y取三刺激值中Y的值, 表示亮度,x、y反映颜色的色度特性。

定义如下:在色彩管理中,选择与设备无关的颜色空间是 十分重要的,与设备无关的颜色空间由国际照明委员会(CIE)制定,包括CIEXYZ和CIELAB两个标准。 它们包含了人眼所能辨别的全部颜色。

而且,CIEYxy测色制的建立给定量的确定颜色创造了条件。 但是,在这一空间中,两种不同颜色之间的距离值并不能正确地反映人们色彩感觉差别的大小, 也就是说在CIEYxy色厦图中,在不同的位置不同方向上颜色的宽容量是不同的,这就是Yxy颜色空间的不均匀性。

这一缺陷的存在,使得在Yxy及XYZ空间不能直观地评价颜色。

XYZ色彩体系颜色匹配函数这个XYZ色彩体系的颜色匹配函数都是正数。而这个体系能标识用RGB无法标识的颜色,因此红色具有两个峰,呈现出有点奇怪的形状。

xy色度图想要表示颜色(表色),基本上需要3个数值。不过因为光的亮度是可变的,所以表示光的颜色只要色相(色调)和色度(彩度)两个颜色信息即可。实际应用时,三维色彩空间(例如孟塞尔色立体)表示起来很难,但如果用二维原色平面,则容易操作。

具体来讲,比较常用的是XYZ色彩体系,牺牲亮度,将三维XYZ色彩空间变为二维xy平面的“xy色度图”( xy color diagram)。这个xy色度图也是国际照明委员会CE在1931年制定的,所以也被称为CIE色彩体系或CIE色度图在这个xy色度图中,使用与XYZ色彩体系的3个刺激值X、Y、Z的比例X:Y:Z相同比例的x:y:z来表示(其中,x+y+z=1) 以这样变换得到的x值作为横轴、y值作为纵轴,用以表示所有颜色的图就是xy色度图。z是自动决定的,因此没有使用。

二、转换公式

XYZ → Standard-RGB

//X, Y and Z input refer to a D65/2° standard illuminant.
//sR, sG and sB (standard RGB) output range = 0 ÷ 255var_X = X / 100
var_Y = Y / 100
var_Z = Z / 100var_R = var_X *  3.2406 + var_Y * -1.5372 + var_Z * -0.4986
var_G = var_X * -0.9689 + var_Y *  1.8758 + var_Z *  0.0415
var_B = var_X *  0.0557 + var_Y * -0.2040 + var_Z *  1.0570if ( var_R > 0.0031308 ) var_R = 1.055 * ( var_R ^ ( 1 / 2.4 ) ) - 0.055
else                     var_R = 12.92 * var_R
if ( var_G > 0.0031308 ) var_G = 1.055 * ( var_G ^ ( 1 / 2.4 ) ) - 0.055
else                     var_G = 12.92 * var_G
if ( var_B > 0.0031308 ) var_B = 1.055 * ( var_B ^ ( 1 / 2.4 ) ) - 0.055
else                     var_B = 12.92 * var_BsR = var_R * 255
sG = var_G * 255
sB = var_B * 255

Standard-RGB → XYZ

//sR, sG and sB (Standard RGB) input range = 0 ÷ 255
//X, Y and Z output refer to a D65/2° standard illuminant.var_R = ( sR / 255 )
var_G = ( sG / 255 )
var_B = ( sB / 255 )if ( var_R > 0.04045 ) var_R = ( ( var_R + 0.055 ) / 1.055 ) ^ 2.4
else                   var_R = var_R / 12.92
if ( var_G > 0.04045 ) var_G = ( ( var_G + 0.055 ) / 1.055 ) ^ 2.4
else                   var_G = var_G / 12.92
if ( var_B > 0.04045 ) var_B = ( ( var_B + 0.055 ) / 1.055 ) ^ 2.4
else                   var_B = var_B / 12.92var_R = var_R * 100
var_G = var_G * 100
var_B = var_B * 100X = var_R * 0.4124 + var_G * 0.3576 + var_B * 0.1805
Y = var_R * 0.2126 + var_G * 0.7152 + var_B * 0.0722
Z = var_R * 0.0193 + var_G * 0.1192 + var_B * 0.9505

XYZ → Yxy

Y = Y
x = X / ( X + Y + Z )
y = Y / ( X + Y + Z )

Yxy → XYZ

X = x * ( Y / y )Y = YZ = ( 1 - x - y ) * ( Y / y )

图像处理:Yxy、XYZ颜色空间介绍及RGB转换公式相关推荐

  1. CV笔记1:颜色空间介绍及转换

    目录 一.颜色空间介绍 1.1 RGB模型 1.2 CMYK模型 1.3 YUV(YCbCr)模型 1.4 HSI模型 1.5 HSV(HSB)模型 二.颜色空间转换 2.1 RGB转灰度图 2.2 ...

  2. Win8 Metro(C#)数字图像处理--4图像颜色空间描述

    原文:Win8 Metro(C#)数字图像处理--4图像颜色空间描述  图像颜色空间是图像颜色集合的数学表示,本小节将针对几种常见颜色空间做个简单介绍. /// <summary>// ...

  3. 颜色空间系列2: RGB和CIELAB颜色空间的转换及优化算法

    颜色空间系列代码下载链接:http://files.cnblogs.com/Imageshop/ImageInfo.rar (同文章同步更新) 在几个常用的颜色空间中,LAB颜色空间是除了RGB外,最 ...

  4. 【深度学习】数形结合的图像处理(文末介绍了一种新型网络)

    [深度学习]数形结合的图像处理(文末介绍了一种新型网络) 文章目录 [深度学习]数形结合的图像处理(文末介绍了一种新型网络) 前言: OpenCV介绍 1 读取图像 2 修改图像尺寸 3 矩阵操作处理 ...

  5. 数字图像处理学习路线大体介绍

    数字图像处理学习路线大体介绍 这是中国科学院大学人工智能学院的图像课大体重要内容 图像增强 直方图增强 空域增强 频域增强 图像去噪 空域去噪 频域去噪 图像复原 退化模型 逆滤波 维纳滤波 图像色彩 ...

  6. YCbCr(YUV)与RGB转换公式以及常用颜色的yuv值

    YCbCr(YUV)与RGB转换公式以及常用颜色的yuv值 0 前言 一. 公式:基于BT.601-6 二.常用颜色值 0 前言 :找了很多转换公式,这次打算梳理一下,我只采纳了YUV标称的以及RGB ...

  7. 使用c语言实现图像中值滤波,图像处理之中值滤波介绍及C实现

    原标题:图像处理之中值滤波介绍及C实现 1.中值滤波概述 中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号平滑处理技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值. ...

  8. matlab yuy2转rgb,YUY2/RGB转换公式

    YUY2/RGB转换公式 Y = 0.299 R + 0.587 G + 0.114 B Cb = - 0.1687 R - 0.3313 G + 0.5 B + 128 Cr = 0.5 R - 0 ...

  9. 颜色空间YUV、RGB理解(二)

    接触到了一些yuv相关的信息.从Camera中拿到的每一帧,它的默认格式是NV21,它是一种yuv格式,然后转成 OpenCV所需的BGR.Camera的每一帧的数据格式还可以指定成别的格式.因此开始 ...

最新文章

  1. Dataguard failover切换应用redo操作
  2. 笔记-信息系统开发基础-架构设计-软件架构风格
  3. iOS开发必备指南合集之游戏接入GameCenter 指南
  4. DOxygen for C++使用说明——Markdown支持
  5. SqlServer 的IDENTITY_INSERT设置为OFF问题
  6. 关于MacBook Pro 15 usb连接iPhone反复重连的解决办法
  7. 解决不产生nohup.out文件方法
  8. python实现编译器链接器_Python入门之Python编译器
  9. win7下配置IIS(ASP.net)
  10. 14.5【结构体指针编程】小科同学学习了数组和结构体,认真进行编程练习,顺利完成了老师布置的20道课外编程题后,他想起了科比20年的职业生涯数据。
  11. SpringBoot+Querydsl 框架,大大简化复杂查询操作
  12. win10怎么更新显卡驱动_更新Win10设备驱动程序的4种方法,方便实用,你知道几种...
  13. 怎么把计算机的网络设置弄成家庭,如何设置家庭Wi-Fi网络
  14. 平安夜 送自己一个小博客
  15. 想准确识别各地方言?这套15000小时方言语音数据推荐了解一下
  16. win10 上PHP artisan storage:link 出现 symlink (): Protocol error的解决办法
  17. wating for network configuration unity恢复
  18. 【vue 进阶指南 一】多语言国际化(中英文切换)
  19. request:fail -202:net::ERR_CERT_AUTHORI
  20. overleaf 只能用jpg格式?visio生成jpg文件太大怎么办?

热门文章

  1. 为什么我总写 Bug ?
  2. 平方和立方和公式推导
  3. 【Linux】3.0Linux进程概念
  4. 嵌入式 Linux平台 C程序 交叉编译技术
  5. UICollectionView 横向滑动停止的两种效果。
  6. 现代化个人博客系统 ModStartBlog v5.7.0 简约纯白主题,富文本大升级
  7. python 东方财富接口_Python从东方财富网站获取数据,python,的
  8. 【软件测试】PDM、PTM、IPD介绍(捣鼓一晚上的血泪知识)
  9. 4.2-知识图谱在电商领域中的应用实践
  10. 无盘系统服务器虚拟内存,Windows7无盘虚拟内存如何设置