matlab中,我用函数rgb2gray,为什么不能将RGB图像转换为灰度图像?是图像用错还是MATLAB装的不完整?

2025-03-19 22:17:54
推荐回答(4个)
回答1:

我今天也碰到了这样的问题,后来弄明白了,本身函数没有错,但是因为有RGB三个参数,所以直接处理黑白图像函数会报错。我猜你跟我一样,调用了一张黑白图片做RGB2GRAY处理了

回答2:

我调用rgb2gray函数之后报错,显示Error in ==> rgb2gray at 42
T = inv([1.0 0.956 0.621; 1.0 -0.272 0.647; 1.0 -1.106 1.703]);为什么呢

回答3:

我的能执行出来。

回答4:

调用格式:   
I = rgb2gray(RGB) 将真彩色RGB图像转换成灰度图像。(RGB并不发生变化)   
newmap = rgb2gray(map)   返回一个灰度调色板。   
相关函数: ind2gray, mat2gray, ntsc2rgb, rgb2ind, rgb2ntsc   
程序示例   
% 1. 显示RGB真彩色图像   
imgrgb = imread('flower.jpg');   
figure('Name', '显示真彩色图像')   
imshow(imgrgb)   
% 2. 显示灰度图像   
imggray = rgb2gray(imgrgb);   
figure('Name', '显示灰度图像')   
imshow(imggray)