RGB到XYZ转化

本文演示了如何使用Matlab将RGB彩色图像转换为CIEXYZ颜色空间,并展示了转换过程中的X、Y、Z图像结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RGB彩色工业标准到CIEXYZ空间转换示例:

clc;
close all;
clear all;
rgb = imread('lena.bmp');
subplot(2,3,1),imshow(rgb,'InitialMagnification','fit');title('原图像');
rgb =double(rgb);%双精度化(0-255)
x = 0.607*rgb(:,:,1)+0.174*rgb(:,:,2)+0.201*rgb(:,:,3);
x = mat2gray(x);%把矩阵转化为灰度图像
y = 0.299*rgb(:,:,1)+0.587*rgb(:,:,2)+0.114*rgb(:,:,3);
y = mat2gray(y);
z = 0.066*rgb(:,:,2)+0.117*rgb(:,:,3);
z = mat2gray(z);
xyz = cat(3,x,y,z);%把x,y,z连在一起
subplot(2,3,3),imshow(xyz);title('XYZ图像');
subplot(2,3,4),imshow(x);title('X图像');
subplot(2,3,5),imshow(y);title('Y图像');
subplot(2,3,6),imshow(z);title('Z图像');
运行结果:


注:Matlab中没有lena.bmp文件,可以从网上下载,此外imshow(rgb,'notruesize')在Matlab2012中不在支持应改为 imshow(rgb,'InitialMagnification','fit')。

<pre name="code" class="html">

### RGB到HVS的转换 在图像处理领域,RGB颜色空间通常被转换成不同的色彩模型以便于特定类型的处理。然而,在提供的参考资料中并未直接提及HVS(Human Visual System)色彩空间的具体转换公式。 一般情况下,从RGB到类似于HVS这样的知觉均匀的颜色空间(如CIELAB或L\*a\*b\*),会经历一系列复杂的变换。这些变换旨在模拟人类视觉系统的特性[^1]: 对于具体的RGB至HVS转换,常见的做法是先将RGB数据线性化,去除伽玛编码的影响,再经过矩阵运算映射到XYZ三刺激值,最后由XYZ计算得到接近人眼感受的颜色表示形式。但是请注意,“HVS”本身并不是一个严格定义的标准色彩空间名称;它更多是指代一类基于生理学研究建立起来的人类视觉响应特性的理论框架[^2]。 实际上,很多文献里提到的所谓"HVS"可能指的是某种特定的应用场景下的简化版本或者近似表达方式。因此,具体实现时应参照所处应用环境中的惯例或是目标平台的要求来进行相应的调整[^3]。 ```python def rgb_to_xyz(RGB): """ Convert from sRGB to XYZ color space. Parameters: RGB (tuple): A tuple representing an sRGB value normalized between 0 and 1. Returns: tuple: An XYZ triplet also within range [0, 1]. """ # Linearize gamma correction linear_rgb = [(v / 12.92 if v <= 0.04045 else ((v + 0.055) / 1.055)**2.4) for v in RGB] # Apply transformation matrix based on D65 illuminant M = [ [0.4124, 0.3576, 0.1805], [0.2126, 0.7152, 0.0722], [0.0193, 0.1192, 0.9505] ] X, Y, Z = sum([M[i][j]*linear_rgb[j] for j in range(3)]) for i in range(3) return X, Y, Z ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值