我想画直方图,可是程序总是出错误。程序如下:a=imread('D:\matlab\work\1.jpg');%读取图像
b=a(:,:,1);
imshow(b); %显示原图
c=histeq(b); %直方图均衡化
figure;
imshow(c); %显示处理后的图像
不能出来直方图,总是提示
??? Error using ==> mtimes
Integers can only be combined with integers of the same class, or scalar doubles.
Error in ==> hist at 60
xx = miny + binwidth*(0:x);
请高手看看是什么问题???
直方图均衡化是专门对于灰度图像而言的处理算法,所以你得先转化为灰度图像,具体程序如下:
a=imread('e:\b.jpg');%读取图像
b=rgb2gray(a); %转化为灰度图像
imshow(b); %显示原图
c=histeq(b); %直方图均衡化
subplot(121),imshow(a);
subplot(122),imshow(c); %显示处理后的图像
效果如下图所示
Opencv13(直方图和均衡化)