histeq是用来增强对比度的,只能用在黑白图像上,也就是二维数组,你读取进来的图像肯定不是黑白的,彩色图像是三维的,例如读取一个256x256的彩色图像,生成的数组的大小事256x256x3,是三维的,而如果是黑白图像,就是256x256,是二维的。
你可以用rgb2gray这个函数将彩色图像转换成黑白图像,代码可以这么写:
i1=imread('lena.bmp');
[m,n,p] = size(i1);
if p == 3
i1 = rgb2gray(i1);
end
i2=histeq(i1);