Main Content

rgb2ycbcr

将 RGB 颜色值转换为 YCbCr 颜色空间

说明

示例

YCBCR = rgb2ycbcr(RGB) 将 RGB 图像的红色、绿色和蓝色值转换为 YCbCr 图像的亮度 (Y) 和色度(CbCr)值。

示例

全部折叠

将图像从 RGB 转换为 YCbCr

将 RGB 图像读取到工作区。

RGB = imread("board.tif");

将图像转换为 YCbCr。

YCBCR = rgb2ycbcr(RGB);

显示原始图像和新图像

imshow(RGB);
title("Image in RGB Color Space");

imshow(YCBCR);
title("Image in YCbCr Color Space");

将颜色图从 RGB 转换为 YCbCr。

将索引图像加载到工作区。颜色图采用 RGB 颜色空间。

[I,map] = imread("forest.tif");

将颜色图转换为 YCbCr。

newcmap = rgb2ycbcr(map);

分别采用原始颜色图和新颜色图显示此灰度图像。

imshow(I,map)
title("Indexed Image with RGB Colormap");

imshow(I,newcmap)
title("Indexed Image with YCbCr Colormap");

输入参数

全部折叠

要转换的 RGB 颜色值,指定为数值数组,采用下列格式之一。

  • c×3 颜色图。每行指定一个 RGB 颜色值。

  • m×n×3 图像

数据类型: single | double | uint8 | uint16

输出参量

全部折叠

转换后的 YCbCr 颜色值,以与输入大小相同的数值数组形式返回。

  • 如果输入是 doublesingle,则 Y 在 [16/255, 235/255] 范围内,CbCr 在 [16/255, 240/255] 范围内。

  • 如果输入是 uint8,则 Y 在 [16, 235] 范围内,CbCr 在 [16, 240] 范围内。

  • 如果输入是 uint16,则 Y 在 [4112, 60395] 范围内,CbCr 在 [4112, 61680] 范围内。

参考

[1] Poynton, C. A.A Technical Introduction to Digital Video, John Wiley & Sons, Inc., 1996, p. 175.

[2] Rec. ITU-R BT.601-5, Studio Encoding Parameters of Digital Television for Standard 4:3 and Wide-screen 16:9 Aspect Ratios, (1982-1986-1990-1992-1994-1995), Section 3.5.

扩展功能

GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。

版本历史记录

在 R2006a 之前推出