user2650768
user2650768

Reputation: 71

Using "imhist" function in Matlab to plot multiple histograms on the same figure

I'm new to Matlab and am trying to do a bit of image processing. I have two color images that I convert to grayscale. My goal is to be able to put the histograms for both grayscale images on the same figure so I can compare them. My code looks like this:

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

The code works fine for looking at the two histograms independently, but I can find how to combine them into one figure for comparison. Please help!!

Upvotes: 5

Views: 13895

Answers (2)

iffa atifah
iffa atifah

Reputation: 11

Try this!

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

Upvotes: 1

Luis Mendo
Luis Mendo

Reputation: 112699

If you want both on the same axes and you don't mind loosing the lower bar, try this (I don't have the Image Toolbox right now, so I haven't tested it):

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')

Upvotes: 4

Related Questions