使用Matlab中的“imhist”函数在同一图上绘制多个直方图

时间:2013-08-04 16:15:50

标签: matlab image-processing histogram multiple-tables figure

我是Matlab的新手,我正在尝试进行一些图像处理。我有两个彩色图像,我转换为灰度。我的目标是能够将两个灰度图像的直方图放在同一个图上,以便我可以比较它们。我的代码如下所示:

a=imread('image1.jpg')
agray=rgb2gray(a)
b=imread('image2.jpg')
bgray=rgb2gray(b)
figure,imhist(agray)
figure,imhist(bgray)

该代码可以独立查看两个直方图,但我可以找到如何将它们组合成一个数字进行比较。请帮忙!!

2 个答案:

答案 0 :(得分:4)

如果你想要两个在同一个并且你不介意丢失下方的条,试试这个(我现在没有Image Toolbox,所以我还没有测试过它):

a=imread('image1.jpg')
agray=rgb2gray(a)
b=imread('image2.jpg')
bgray=rgb2gray(b)
[counts,x] = imhist(agray)
stem(counts,x,'b')
hold on
[counts,x] = imhist(bgray)
stem(counts,x,'r')

答案 1 :(得分:0)

试试这个!

figure (x),
subplot(2,1,1); imhist(agray);
subplot(2,1,2); imhist(bgray);