求RGB转YCbCr颜色空间的matlab代码

如题所述

第1个回答  2013-04-26
Y= 0.257*R + 0.504*G + 0.098*B + 16;
Cb = -0.148*R - 0.291*G+ 0.439*B + 128;
Cr = 0.439*R - 0.368*G - 0.071*B + 128;

Y = floor(Y+0.5); %四舍五入,取整
Cr = floor(Cr+0.5);
Cb = floor(Cb+0.5);

下面是转换回去的公式,验证是否转换正确,数据是否有损失。
R = 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);追问

转换之后的图像时彩色的吗?

追答

这只是各个通道的数值,可以合成彩色图像

追问

求 合成彩色图像的matlab代码,谢谢!!!

追答

matlab 可以显示RGB的图像,YCbCr 的好像不可以直接显示。具体的是 rgb(:,:,1) = R;rgb(:,:,2) = G;rgb(:,:,3) =B;imshow(rgb);如果有问题的话,试试加一个 mat2gray函数。

看了一下,有ycbcr2rgb函数 多多利用Matlab的help功能

追问

非常谢谢!!!

第2个回答  2013-04-26
用rgb2ycbcr函数本回答被提问者采纳
相似回答