rgb2gray是matlab内部一种处理图像的函数,通过消除图像色调和饱和度信息同时保留亮度实现将RGB图像或彩色图转换为灰度图像,即灰度化处理的功能,调用这个功能的格式是I = rgb2gray(RGB),意思是将真彩色图像RGB转换为灰度强度图像I 。

调用格式

I = rgb2gray(RGB)

相关函数

ind2gray, mat2gray

功能

将真彩色图像转换为灰度图像

功能

Matlab函数rgb2gray,

在matlab命令窗口中键入doc rgb2gray或help rgb2gray可以获得更多关于该函数的帮助信息。

调用格式

I = rgb2gray(RGB)

newmap= rgb2gray(map)

调用格式说明

I = rgb2gray(RGB)

将真彩色RGB图像转换成灰度图像。(RGB并不发生变化)

newmap= rgb2gray(map)

返回一个灰度调色板。

函数算法

灰度化处理有多种处理方式:分量法 最大法 平均法 加权平均法

Matlab 中采用的是对R、G、B分量进行加权平均的算法:

0.2989R+ 0.5870G + 0.1140B

(注意,rgb2ntsc函数也使用相同的权重来计算Y分量)

有关函数

ind2gray, mat2gray, ntsc2rgb, rgb2ind, rgb2ntsc

程序示例

% 1. 显示RGB真彩色图像

imgrgb = imread('flower.jpg');%用imread函数将图像读入,并且赋给变量imgrab

figure('Name', '显示真彩色图像')%开一个标题为“显示真彩色图像”的窗口

imshow(imgrgb)%显示真彩色图像imgrab

% 2. 显示灰度图像

imggray = rgb2gray(imgrgb);%调用rab2gray函数,将图像灰度化,赋给一个新的变量imggray

figure('Name', '显示灰度图像')%开一个标题为“显示灰度图像”的窗口

imshow(imggray)%显示图像灰度图imggray