RGB与YUV、YIQ、YCbCr、HSI、CMY的模型互化(基于matlab)
RGB图和HSI图转换

摘要所谓彩色模型就是指摸个三维颜色空间中的一个可见光子集。
它包含某个颜色域的所有颜色。
例如,RGB颜色模型就是三维直角坐标颜色系统的一个单位正方体。
颜色模型的用途是在某个颜色域内方便的制定颜色,由于每一个颜色域都是可见光的子集,所以任何一个颜色模型都无法包含所有得可见光。
在大多数的颜色图形显示设备一般都是使用红、绿、蓝三原色,我们的真实感图形学中的主要的颜色模型也是RGB模型,但是红、绿、蓝颜色模型用起来不太方便,它与直观的颜色概念如色调、饱和度和亮度等没有直接的联系。
计算机彩色显示器显示色彩的原理与彩色电视机一样,都是采用R、G、B 相加混色的原理。
通过发射出三种不同强度的电子束,使屏幕内侧覆盖的红、绿、蓝磷光材料发光尔产生色彩的。
这种色彩的表示方法称为RGB色彩空间表示。
HSV颜色模型中颜色的参数分别是:色彩,纯度,明度。
HSV模型的三维表示是一种比拟直观的颜色模型,在许多图形编辑工具中应用比拟广泛。
如Photoshop 等等。
但这也决定了他不适合使用在光照模型中。
YCbCr是DVD、摄像机、数字电视等消费类视频产品中,常用的色彩编码方案。
YCbCr有时也会称为YCC。
YCbCr在模拟分量视频中也常被称为YPbpr。
关键词:颜色模型;RGB;HSV;YCbCr目录1 课程设计目的....................................................................................... 错误!未定义书签。
2 课程设计要求 (1)3 MATLAB简介 (2)MATLAB主要功能 (2)3.2 MATLAB优势 (2)3.2.1 工作平台和编程环境 (2)程序语言 (3)3.2.3 科学计算机数据处理能力 (3)3.2.4图形处理功能 (3)3.2.5模块集合工具箱 (4)3.3 MATLAB函数与数据类型 (4)4 设计方案 (4)5 程序编码 (5)5.1 将RGB图像与HSI图像互相转换 (5)将RGB图像转换到NTSC图像 (8)6 仿真结果 (9)7 结论 (11)8 参考文献 (12)1 课程设计目的彩色模型也称为彩色空间或彩色系统,是描述色彩的一种方法。
关于YUV和RGB之间的转换公式

关于YUV和RGB之间的转换公式总结了一下网上关于YUV的一些东西先区分一下YUV和YCbCrYUV色彩模型来源于RGB模型,该模型的特点是将亮度和色度分离开,从而适合于图像处理领域。
应用:模拟领域Y'= 0.299*R' + 0.587*G' + 0.114*B'U'= -0.147*R' - 0.289*G' + 0.436*B' = 0.492*(B'- Y')V'= 0.615*R' - 0.515*G' - 0.100*B' = 0.877*(R'- Y')R' = Y' + 1.140*V'G' = Y' - 0.394*U' - 0.581*V'B' = Y' + 2.032*U'YCbCr模型来源于YUV模型。
YCbCr是YUV 颜色空间的偏移版本.应用:数字视频,ITU-R BT.601建议Y’ = 0.257*R' + 0.504*G' + 0.098*B' + 16Cb' = -0.148*R' - 0.291*G' + 0.439*B' + 128Cr' = 0.439*R' - 0.368*G' - 0.071*B' + 128R' = 1.164*(Y’-16) + 1.596*(Cr'-128)G' = 1.164*(Y’-16) - 0.813*(Cr'-128) - 0.392*(Cb'-128)B' = 1.164*(Y’-16) + 2.017*(Cb'-128)PS: 上面各个符号都带了一撇,表示该符号在原值基础上进行了伽马校正,伽马校正有助于弥补在抗锯齿的过程中,线性分配伽马值所带来的细节损失,使图像细节更加丰富。
RGB彩色空间的不同转换公式

RGB彩色空间的不同转换公式RGB(红绿蓝)彩色空间是一种用于显示和处理彩色图像的一种方式,广泛应用于计算机图形学、数字图像处理、电视和摄影等领域。
RGB彩色空间的转换公式可以通过线性和非线性的方式来实现。
下面将介绍RGB彩色空间的不同转换公式。
1.RGB到CMYCMY(青色、品红、黄色)彩色空间是RGB的补色空间,用于打印和印刷等领域。
转换公式:C=1-RM=1-GY=1-B2.RGB到HSVHSV(色调、饱和度、明度)彩色空间是一种圆柱体坐标系统,用于人眼感知颜色。
转换公式:V = max(R, G, B)S = (V - min(R, G, B)) / VH = 0, if V = 060 * (G - B) / (V - min(R, G, B)), if V = R60 * (2 + (B - R) / (V - min(R, G, B))), if V = G60 * (4 + (R - G) / (V - min(R, G, B))), if V = B3.RGB到YUVYUV(亮度、色度U、色度V)彩色空间是一种用于视频和图像压缩的颜色表示方式。
转换公式:Y=0.299*R+0.587*G+0.114*BU=-0.169*R-0.332*G+0.500*B+128V=0.500*R-0.419*G-0.081*B+1284.RGB到YCbCrYCbCr(亮度、蓝彩色差、红彩色差)彩色空间是JPEG和MPEG图像压缩中使用的一种颜色表示方式。
转换公式:Y=0.299*R+0.587*G+0.114*BCb=-0.1687*R-0.3313*G+0.5*B+128Cr=0.5*R-0.4187*G-0.0813*B+1285.RGB到XYZXYZ彩色空间是一种基于人眼视觉特性定义的设备无关的颜色表示方式。
转换公式:6. RGB到LabLab彩色空间是一种设备无关的颜色表示方式,用于表示人眼视觉信号的三个特性:亮度、a色度和b色度。
yuv rgb 互转 公式 及算法

1 前言自然界的颜色千变万化,为了给颜色一个量化的衡量标准,就需要建立色彩空间模型来描述各种各样的颜色,由于人对色彩的感知是一个复杂的生理和心理联合作用的过程,所以在不同的应用领域中为了更好更准确的满足各自的需求,就出现了各种各样的色彩空间模型来量化的描述颜色。
我们比较常接触到的就包括RGB / CMYK / YIQ / YUV / HSI等等。
对于数字电子多媒体领域来说,我们经常接触到的色彩空间的概念,主要是RGB , YUV 这两种(实际上,这两种体系包含了许多种具体的颜色表达方式和模型,如sRGB, Adobe RGB, YUV422, YUV420 …), RGB是按三基色加光系统的原理来描述颜色,而YUV则是按照亮度,色差的原理来描述颜色。
即使只是RGB YUV这两大类色彩空间,所涉及到的知识也是十分丰富复杂的,自知不具备足够的相关专业知识,所以本文主要针对工程领域的应用及算法进行讨论。
2 YUV相关色彩空间模型对于YUV模型,实际上很多时候,我们是把它和YIQ / YCrCb模型混为一谈的。
实际上,YUV模型用于PAL制式的电视系统,Y表示亮度,UV并非任何单词的缩写。
YIQ模型与YUV模型类似,用于NTSC制式的电视系统。
YIQ颜色空间中的I和Q分量相当于将YUV空间中的UV分量做了一个33度的旋转。
YCbCr颜色空间是由YUV颜色空间派生的一种颜色空间,主要用于数字电视系统中。
从RGB到YCbCr的转换中,输入、输出都是8位二进制格式。
三者与RGB的转换方程如下:RGB -> YUV:实际上也就是:Y=0.30R+0.59G+0.11B ,U=0.493(B-Y) ,V=0.877(R-Y)RGB -> YIQ:RGB -> YCrCb:从公式中,我们关键要理解的一点是,UV / CbCr信号实际上就是蓝色差信号和红色差信号,进而言之,实际上一定程度上间接的代表了蓝色和红色的强度,理解这一点对于我们理解各种颜色变换处理的过程会有很大的帮助。
matlab不同颜色合成算法

matlab不同颜色合成算法Matlab中有多种不同的颜色合成算法,这些算法可以用于生成不同颜色的图像或合并多个颜色通道。
本文将介绍几种常见的颜色合成算法,并讨论它们的原理和应用。
一、RGB颜色模型RGB颜色模型是最常用的颜色表示方式之一,它将颜色表示为红色、绿色和蓝色三个分量的组合。
在Matlab中,可以使用RGB颜色模型来合成新的颜色。
在RGB颜色模型中,每个颜色通道的取值范围是0到255。
通过调整不同颜色通道的取值,可以合成出各种不同的颜色。
例如,要合成一个红色,可以将红色通道的取值设置为255,而将绿色和蓝色通道的取值都设置为0。
二、CMYK颜色模型CMYK颜色模型是一种专门用于印刷的颜色模型,它将颜色表示为青色、品红色、黄色和黑色四个分量的组合。
在Matlab中,可以使用CMYK颜色模型来合成新的颜色。
在CMYK颜色模型中,每个颜色通道的取值范围是0到100。
通过调整不同颜色通道的取值,可以合成出各种不同的颜色。
例如,要合成一个品红色,可以将品红色通道的取值设置为100,而将青色、黄色和黑色通道的取值都设置为0。
三、HSV颜色模型HSV颜色模型是一种常用的颜色模型,它将颜色表示为色调、饱和度和亮度三个分量的组合。
在Matlab中,可以使用HSV颜色模型来合成新的颜色。
在HSV颜色模型中,色调的取值范围是0到360,饱和度和亮度的取值范围是0到1。
通过调整不同颜色通道的取值,可以合成出各种不同的颜色。
例如,要合成一个红色,可以将色调的取值设置为0,而将饱和度和亮度的取值都设置为1。
四、YUV颜色模型YUV颜色模型是一种常用的视频颜色模型,它将颜色表示为亮度、蓝色差和红色差三个分量的组合。
在Matlab中,可以使用YUV颜色模型来合成新的颜色。
在YUV颜色模型中,亮度的取值范围是0到1,蓝色差和红色差的取值范围是-0.5到0.5。
通过调整不同颜色通道的取值,可以合成出各种不同的颜色。
例如,要合成一个蓝色,可以将亮度的取值设置为0.5,而将蓝色差和红色差的取值都设置为-0.5。
几种颜色模型的转换公式

几种颜色模型的转换公式颜色模型用于描述和表示颜色的方法,其中最常见的包括RGB、CMYK 和HSV等模型。
在实际应用中,经常需要在不同颜色模型之间进行转换。
下面将详细介绍RGB到CMYK、RGB到HSV以及CMYK到RGB的转换公式。
一、RGB到CMYK的转换公式:RGB模型是由红色(R)、绿色(G)和蓝色(B)的光强度组成,而CMYK模型是由青色(C)、品红色(M)、黄色(Y)和黑色(K)的浓度表示的。
下面是RGB到CMYK的转换公式:1.将RGB值除以255,得到RGB的标准化值2.通过以下公式计算出CMY的值:C=1-RM=1-GY=1-B3.通过以下公式计算出K的值:K = min(C, M, Y)4.将CMY的值减去K,得到CMYK的值:C=(C-K)/(1-K)M=(M-K)/(1-K)Y=(Y-K)/(1-K)K=K二、RGB到HSV的转换公式:HSV模型是由色调(H)、饱和度(S)和明度(V)的数值表示的。
下面是RGB到HSV的转换公式:1.将RGB值除以255,得到RGB的标准化值2.通过以下公式计算出V的值:V = max(R, G, B)3.通过以下公式计算出S的值:if V == 0:S=0else:S = (V - min(R, G, B)) / V4.通过以下公式计算出H的值:if V == R:H = (G - B) / (max(R, G, B) - min(R, G, B))elif V == G:H = 2 + (B - R) / (max(R, G, B) - min(R, G, B))else:H = 4 + (R - G) / (max(R, G, B) - min(R, G, B))H=H*60if H < 0:H=H+360三、CMYK到RGB的转换公式:CMYK模型中的C、M、Y和K表示颜色的浓度,而RGB模型表示颜色的光强度。
下面是CMYK到RGB的转换公式:1.通过以下公式计算出R的值:R=255*(1-C)*(1-K)2.通过以下公式计算出G的值:G=255*(1-M)*(1-K)3.通过以下公式计算出B的值:B=255*(1-Y)*(1-K)以上就是RGB到CMYK、RGB到HSV以及CMYK到RGB的转换公式。
[复习]RGB、Lab、YUV、HSI、HSV等颜色空间的区别
![[复习]RGB、Lab、YUV、HSI、HSV等颜色空间的区别](https://img.taocdn.com/s3/m/254cc962f56527d3240c844769eae009581ba2e9.png)
RGB、Lab、YUV、HSI、HSV等颜色空间的区别RGB、Lab、YUV、HSI、HSV等颜色空间的区别RGB颜色空间RGB(red,green,blue)颜色空间最常用的用途就是显示器系统,彩色阴极射线管,彩色光栅图形的显示器都使用R、G、B数值来驱动R、G、B 电子枪发射电子,并分别激发荧光屏上的R、G、B三种颜色的荧光粉发出不同亮度的光线,并通过相加混合产生各种颜色;扫描仪也是通过吸收原稿经反射或透射而发送来的光线中的R、G、B成分,并用它来表示原稿的颜色。
RGB色彩空间称为与设备相关的色彩空间,因为不同的扫描仪扫描同一幅图像,会得到不同色彩的图像数据;不同型号的显示器显示同一幅图像,也会有不同的色彩显示结果。
显示器和扫描仪使用的RGB空间与CIE 1931 RGB真实三原色表色系统空间是不同的,后者是与设备无关的颜色空间。
btw:Photoshop的色彩选取器(Color Picker)。
可以显示HSB、RGB、LAB 和CMYK 色彩空间的每一种颜色的色彩值。
Lab 颜色空间Lab颜色空间是由CIE(国际照明委员会)制定的一种色彩模式。
自然界中任何一点色都可以在Lab空间中表达出来,它的色彩空间比RGB 空间还要大。
另外,这种模式是以数字化方式来描述人的视觉感应,与设备无关,所以它弥补了RGB和 CMYK模式必须依赖于设备色彩特性的不足。
由于Lab的色彩空间要比RGB模式和CMYK模式的色彩空间大。
这就意味着RGB以及CMYK所能描述的色彩信息在Lab空间中都能得以影射。
Lab空间取坐标Lab,其中L亮度;a的正数代表红色,负端代表绿色;b的正数代表黄色,负端代表兰色(a,b)有L=116f(y)-16, a=500[f(x/0.982)-f(y)],b=200[f(y)-f(z/1.183 )];其中: f(x)=7.787x+0.138, x<0.008856; f(x)=(x)1/3,x>0.008856。
Ycbcr空间,及和RGB之间转换关系

Ycbcr空间,及和RGB之间转换关系CbCr是DVD、摄像机、数字电视等消费类视频产品中,常⽤的⾊彩编码⽅案。
YCbCr不是⼀种绝对⾊彩空间,是YUV压缩和偏移的版本。
YCbCr其中Y是指亮度分量,Cb指蓝⾊⾊度分量,⽽Cr指红⾊⾊度分量。
⼈的⾁眼对视频的Y分量更敏感,因此在通过对⾊度分量进⾏⼦采样来减少⾊度分量后,⾁眼将察觉不到的图像质量的变化。
主要的⼦采样格式有YCbCr 4:2:0、YCbCr 4:2:2 和 YCbCr 4:4:4。
4:2:0表⽰每4个像素有4个亮度分量,2个⾊度分量 (YYYYCbCr),仅采样奇数扫描线,是便携式视频设备(MPEG-4)以及电视会议(H.263)最常⽤格式;4:2:2表⽰每4个像素有4个亮度分量,4个⾊度分量(YYYYCbCrCbCr),是DVD、数字电视、HDTV 以及其它消费类视频设备的最常⽤格式;4:4:4表⽰全像素点阵(YYYYCbCrCbCrCbCrCbCr),⽤于⾼质量视频应⽤、演播室以及专业视频产品。
// 其中R G B Y Cb Cr得取值均为0-255// RGB转换为YCbCr// |Y | |16 | |65.738 129.057 25.06 | |R|// |Cb| = |128| + (1/256) * |-37.945 -74.494 112.43| * |G|// |Cr| |128| |112.439 -94.154 -18.28| |B|Y = (66*R + 129*G + 25*B + 128)/256.0f + 16;Cb = (-38*R - 74*G + 112*B + 128)/256.0f + 128;Cr = (112*R - 94*G - 18*B + 128)/256.0f + 128;Y = (Y<0?0:(Y>255?255:Y));Cb =(Cb<0?0:(Cb>255?255:Cb));Cr =(Cr<0?0:(Cr>255?255:Cr));// YCbCr转换为RGB//|R| |298.082 0 408.58 | |Y -16 |//|G| = (1/256) * |298.082 -100.291 -208.12| * |Cb -128|//|B| |298.082 516.411 0 | |Cr -128|Y -= 16;Cb -= 128;Cr -= 128;R = (298*Y + 409*Cr + 128)/256;G = (298*Y - 100*Cb - 208*Cr + 128)/256;B = (298*Y + 516*Cb + 128)/256;R = (R<0?0:(R>255?255:R));G = (G<0?0:(G>255?255:G));B = (B<0?0:(B>255?255:B));。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2013-2014学年第二学期图像通信课程设计报告设计题目:图像的各种颜色空间转换摘要所谓三基色原理,是指自然界常见的各种颜色光都可由红、绿、蓝三种色光按照不同比例相配而成。
同样,绝大多数颜色也可以分解成红、绿、蓝三种色光。
这就是色度学中的最基本的原理。
彩色模型的用途是在某些标准下用通常课接受的方式简化彩色规范。
常常涉及到用几种不同的彩色空间表示图形和图像的颜色,以应对不同的场合和应用。
因此,在数字图像的生成、存储、处理及显示时,对应不同的彩色空间,需要作不同的处理和转换。
现在主要的彩色模型有RGB模型、CMY模型、YUV模型、YIQ 模型、YcbCr模型、HSI模型等。
本设计主要使用MATLAB编程的方法,实现RGB与其余四种模型之间的互化。
即使用不同的色彩模型表示同一图形或图像。
通过转换实现色彩模型的变换之后,可以让同一幅图像以各种模式在全球范围内流通,所以本设计具有一定的实际意义。
一般的图像原始都为RGB—加色混合色彩模型,它与剩下的几个色彩模型之间存在着函数对应关系,通过矩阵运算改变模型的参数就可以实现不同色彩模型之间的相互转换。
例如CMY—减色混合色彩模型,就是利用青色、深红色、黄色这三种彩色按照一定比例来产生想要的彩色,CMY是RGB三基色的补色,它与RGB存在如下关系:[CMY]=[111]-[RGB],使用MATLAB编程时,读入三个通道的数值,按照对应关系进行矩阵变换就可以转换成CMY色彩模型。
其他色彩模型转换原理与此相似。
关键词:MATLAB,RGB、YUV、YIQ、YCbCr、HSI、色彩模型一、设计任务、目的和要求任务:实现RGB模型、CMY模型、YUV模型、YIQ模型、YcbCr模型、HSI 模型这几种不同色彩模型之间的相互转换要求:最终结果用图像显示二、总体方案设计系统运行环境:WINDOWS 7操作系统编程软件平台:MATLAB2012b编码算法原理:将原图的三基色数值读入,根据不同色彩模型之间的相互关系,通过矩阵运算改变不同的亮度和色度等信息来实现色彩模型的转换,然后将变换后的图像导出流程图:三、设计实现1、RGB模型和CMY模型的互化变换公式:[CMY]=[111]-[RGB]clc;clear;close;X=imread('1.jpg');%读取原始图形Image = im2double(X); %归一化处理subplot(131),imshow(Image),title('原图');%读取图像的RGB分量r = Image(:, :, 1);g = Image(:, :, 2);b = Image(:, :, 3);%进行RGB到CMY的变换C=1-r;M=1-g;Y=1-b;CMY = cat(3, C, M, Y);subplot(132),imshow(CMY),title('RGB转CMY'); %进行CMY到RGB的反变换r1=1-C;g1=1-M;b1=1-Y;rgb1 = cat(3, r1, g1, b1);subplot(133),imshow(rgb1),title('CMY转RGB'); %数值分析反变换后和原图的差别x=rgb1-Image;disp(x);2、RGB模型和YUV色彩模型的互化变换公式:[YUV]=100.0515.0615.0436.0289.0147.0114.0587.0299.0----[RGB]clear all;close all;clc;%清除内存空间信息,以便程序运行img=imread('1.jpg'); %读取原始图形img=im2double(img);%将图像映射到[0,1]区间;[m,n,dim]=size(img);%获得原图像长、宽、维数的数据subplot(131),imshow(img),title('原图');%%图像的RGBR=img(:,:,1);G=img(:,:,2);B=img(:,:,3);%%RGB2YUVY=zeros(m,n); %亮度I=zeros(m,n); %彩度V=zeros(m,n); %浓度%定义乘法矩阵matrix=[0.299 0.587 0.114;-0.147 -0.298 0.436;0.615 -0.515 -0.100];%用for循环实现图像中每一个点的矩阵变换,即实现模型变换for i=1:mfor j=1:ntmp=matrix*[R(i,j) G(i,j) B(i,j)]';Y(i,j)=tmp(1);U(i,j)=tmp(2);V(i,j)=tmp(3);endend%使Y、U、V分量全部在[0,255]区间内Y(Y > 255) = 255;Y(Y < 0) = 0;UU > 255) = 255;U (U < 0) = 0;V(V > 255) = 255;V (V < 0) = 0;YUV = cat(3, Y, U, V);subplot(132),imshow(YUV),title('YUV');%%YUV2RGBmatrix=inv(matrix);%使用inv函数,求反变换矩阵for i=1:mfor j=1:ntmp=matrix*[Y(i,j) U(i,j) V(i,j)]';R(i,j)=tmp(1);G(i,j)=tmp(2);B(i,j)=tmp(3);endendimg1(:,:,1)=R;img1(:,:,2)=G;img1(:,:,3)=B;%将R、G、B分量全部化为[0,255]区间内R(R > 255) = 255;R(R < 0) = 0;G(G > 255) = 255;G(G < 0) = 0;B(B > 255) = 255;B(B < 0) = 0;subplot(133),imshow(img1),title('反变换');%比较x=img-img;disp(x);3、RGB模型和YIQ色彩模型的互化变换公式:[YIQ]=311.0523.0212.0321.0275.0596.0114.0587.0299.0--[RGB]clear all;close all;clc;img=imread('1.jpg');%读取矩阵img=im2double(img);%将图像映射到[0,1]区间。
[m,n,dim]=size(img);%读取图像的长宽等信息subplot(131),imshow(img),title('原图');%%图像的RGBR=img(:,:,1);G=img(:,:,2);B=img(:,:,3);%%RGB2YIQY=zeros(m,n); %亮度I=zeros(m,n); %彩度Q=zeros(m,n); %浓度matrix=[0.299 0.587 0.114;0.596 -0.275 -0.321;0.212 -0.523 0.311];%用for循环实现图像中每一个点的矩阵变换,即实现模型变换for i=1:mfor j=1:ntmp=matrix*[R(i,j) G(i,j) B(i,j)]';Y(i,j)=tmp(1);I(i,j)=tmp(2);Q(i,j)=tmp(3);endendYUV = cat(3, Y, I, Q);subplot(132),imshow(YUV),title('YUV');%显示变换后的图形%YUV2RGBmatrix=inv(matrix);for i=1:mfor j=1:ntmp=matrix*[Y(i,j) I(i,j) Q(i,j)]';R(i,j)=tmp(1);G(i,j)=tmp(2);B(i,j)=tmp(3);endend%将R、G、B三个分量赋予到img矩阵中img(:,:,1)=R;img(:,:,2)=G;img(:,:,3)=B;subplot(133),imshow(img),title('反变换');%得到反变换的图形%将反变换图形与原始图形进行比较x=img1-img;disp(x);4、RGB色彩模型和YCbCr色彩模型的互化变换公式:[YCbCr]=0813.04187.0500.0500.03313.01687.0114.0587.0299.0----[RGB]+[128128]clc;clear;close;src=imread('1.jpg');subplot(141),imshow(src),title('原图');%得到以double形式存在的R、G、B分量r = double(src(:,:,1));g = double(src(:,:,2));b = double(src(:,:,3));% convert...y = floor(0.299*r + 0.587*g + 0.114*b+0); %floor(pi)=3; floor(3.5)=3; floor(-3.2)=-4;向负方向舍入Cb = floor(-0.1687*r - 0.3313*g + 0.5*b+128);Cr = floor(0.5*r - 0.4187*g - 0.0813*b+128);%对所得的各个分量进行调整,使之介于[0,255]区间内y(y > 255) = 255;y(y < 0) = 0;Cb(Cb > 255) = 255;Cb(Cb < 0) = 0;Cr(Cr > 255) = 255;Cr(Cr < 0) = 0;%将Y、Cb、Cr分量化为8位无符号整数并存放在dst矩阵中dst(:,:,1) = uint8(y);dst(:,:,2) = uint8(Cb);dst(:,:,3) = uint8(Cr);subplot(142),imshow(dst),title('自编之rgb到YCBCR');YCBCR = rgb2ycbcr(src);subplot(143),imshow(YCBCR),title('matlab自带转换函数');%查找资料,得到反变换矩阵,并借此进行反变换r1=1.0*y + 0 +1.402*(Cr-128);g1=1.0*y - 0.34413*(Cb-128)-0.71414*(Cr-128);b1=1.0*y + 1.772*(Cb-128)+0;%对所得的各个分量进行调整,使之介于[0,255]区间内r1(r1 > 255) = 255;r1(r1 < 0) = 0;g1(g1 > 255) = 255;g1(g1 < 0) = 0;b1(b1 > 255) = 255;b1(b1 < 0) = 0;%将r1、g1、b1分量化为8位无符号整数并存放在dst2矩阵中dst2(:,:,1) = uint8(r1);dst2(:,:,2) = uint8(g1);dst2(:,:,3) = uint8(b1);subplot(144),imshow(dst2),title('反变换');%显示反变换图形5、RGB色彩模型和HSI色彩模型的互化变换公式:H= θB≤G360-θB>G;其中,θ= arccos 0.5∗[(R−G)+(R−B)][(R−G)+(R−B)(G−B)1/2][min(R,G,B)]S=1-3(R+G+B)I=1/3*(R+G+B);clear;clc;close;x=imread('1.jpg');rgb=im2double(x);r=rgb(:,:,1);g=rgb(:,:,2);b=rgb(:,:,3);%提取彩色图像R、G、B三个色彩通道的分量。