matlab中显示ycbcr图像,rgb到matlab中的ycbcr转换

“rgb2ycbcr”函数(图像处理工具箱):

路径:

MATLAB \ R2013a \工具箱\图像\色彩空间\ rgb2ycbcr.m

代码:

function ycbcr = rgb2ycbcr(varargin)

rgb = parse_inputs(varargin{:});

isColormap = false;

if (ndims(rgb) == 2)

isColormap=true;

colors = size(rgb,1);

rgb = reshape(rgb, [colors 1 3]);

end

origT = [65.481 128.553 24.966;-37.797 -74.203 112; 112 -93.786 -18.214];

origOffset = [16;128;128];

scaleFactor.double.T = 1/255;

scaleFactor.double.offset = 1/255;

scaleFactor.uint8.T = 1/255;

scaleFactor.uint8.offset = 1;

scaleFactor.uint16.T = 257/65535;

scaleFactor.uint16.offset = 257;

classIn = class(rgb);

T = scaleFactor.(classIn).T * origT;

offset = scaleFactor.(classIn).offset * origOffset;

ycbcr = zeros(size(rgb),classIn);

for p = 1:3

ycbcr(:,:,p) = imlincomb(T(p,1),rgb(:,:,1),T(p,2),rgb(:,:,2), T(p,3),rgb(:,:,3),offset(p));

end

if isColormap

ycbcr = reshape(ycbcr, [colors 3 1]);

end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值