我今天也碰到了这样的问题,后来弄明白了,本身函数没有错,但是因为有RGB三个参数,所以直接处理黑白图像函数会报错。我猜你跟我一样,调用了一张黑白图片做RGB2GRAY处理了
我调用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]);为什么呢
我的能执行出来。
调用格式:
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)