主要内容

rgb2gray

将RGB图像或色图转换为灰度

描述

例子

= rgb2gray (RGB转换真彩色图像RGB到灰度图像.的rgb2gray函数通过消除色相和饱和度信息,同时保留亮度,将RGB图像转换为灰度。如果您安装了并行计算工具箱™,rgb2gray可以在GPU上执行此转换。

例子

newmap= rgb2gray (地图返回等价于的灰度色图地图

例子

全部折叠

读取并显示RGB图像,然后将其转换为灰度。

阅读示例文件,peppers.png,显示RGB图像。

RGB = imread(“peppers.png”);imshow (RGB)

图中包含一个轴对象。axis对象包含一个image类型的对象。

将RGB图像转换为灰度图像并显示它。

I = rgb2gray(RGB);图imshow(我)

图中包含一个轴对象。axis对象包含一个image类型的对象。

读取带有RGB色图的索引图像。然后,将色图转换为灰度。

阅读示例文件,corn.tif,这是一个索引图像与RGB配色。

[X,map] = imread(“corn.tif”);

显示图像。

imshow (X,地图)

图中包含一个轴对象。axis对象包含一个image类型的对象。

将RGB色图转换为灰度色图并重新显示图像。

Newmap = rgb2gray(map);imshow (X, newmap)

图中包含一个轴对象。axis对象包含一个image类型的对象。

输入参数

全部折叠

真彩图像,指定为——- - - - - -n-by-3数值数组。

如果您安装了并行计算工具箱,RGB也可以是gpuArray。

数据类型:||uint8|uint16

Colormap,指定为c-by-3数值矩阵,值范围为[0,1]。每行地图是一个三元素RGB三元组,它指定了颜色图中单一颜色的红色、绿色和蓝色组件。

如果您安装了并行计算工具箱,地图也可以是gpuArray。

数据类型:

输出参数

全部折叠

灰度图像,返回为——- - - - - -n数字数组。

如果您安装了并行计算工具箱,那么也可以是gpuArray。

返回的灰度色图c-by-3数值矩阵,值范围为[0,1]。的三列newmap都是一样的,这样每一行地图指定一个强度值。

如果您安装了并行计算工具箱,那么newmap也可以是gpuArray。

数据类型:

提示

  • rgb2gray金宝app支持生成C代码使用MATLAB®编码器™

算法

rgb2gray的加权和,将RGB值转换为灰度值RG,B组件:

0.2989 * r + 0.5870 * g + 0.1140 * b

这些是相同的权重rgb2ntsc(图像处理工具箱)函数来计算Y组件。

用于计算灰度值的系数rgb2gray与Rec.ITU-R BT.601-7中用于计算亮度(E'y)的公式相同,四舍五入至小数点后三位。

Rec.ITU-R BT.601-7使用以下公式计算E'y:

0.299 * r + 0.587 * g + 0.114 * b

扩展功能

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

另请参阅

(图像处理工具箱)|(图像处理工具箱)|(图像处理工具箱)||(图像处理工具箱)

主题