如何用matlab生成256 级的灰度图像

把一付彩色图片转化成一副256级的灰度图像

可以利用以下两句解决问题:
J = rgb2gray(I);
J = im2uint8(J);

Matlab函数rgb2gray,函数功能:将真彩色图像转换为灰度图像。在matlab命令窗口中键入doc rgb2gray或help rgb2gray可以获得更多关于该函数的帮助信息。
调用格式:

I = rgb2gray(RGB)
将真彩色RGB图像转换成灰度图像。(RGB并不发生变化)
newmap = rgb2gray(map)
返回一个灰度调色板。
程序示例:

% 1. 显示RGB真彩色图像
imgrgb = imread('flower.jpg');
figure('Name', '显示真彩色图像')
imshow(imgrgb)
% 2. 显示灰度图像
imggray = rgb2gray(imgrgb);
figure('Name', '显示灰度图像')
imshow(imggray)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-30
直接把rbg图像三层加起来,然后取一个平均值,显示就ok
第2个回答  2014-03-30
A=rgb2gray(A)
A是读入的彩色图像
第3个回答  2014-03-30
"生成" ,是指凭空产生一个,还是从某种其他图像转换而来?追问

是把一个已有的彩色图像转化成一副
256 级的灰度图像

追答

J = rgb2gray(I);
J = im2uint8(J);

本回答被提问者采纳