2013-08-04 2 views
4

Я новичок в Matlab и пытаюсь немного обработать изображения. У меня есть два цветных изображения, которые я конвертирую в оттенки серого. Моя цель - установить гистограммы для обоих изображений в оттенках серого на одной фигуре, чтобы я мог их сравнить. Мой код выглядит следующим образом:Использование функции «imhist» в Matlab для построения нескольких гистограмм на том же рисунке

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

код работает отлично, глядя на двух гистограмм независимо друг от друга, но не могу найти, как объединить их в одну цифру для сравнения. Пожалуйста помоги!!

ответ

4

Если вы хотите, и на одних и тех же осей и вы не возражаете потерять нижнюю планку, попробуйте это (я не имею 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

выглядит лучше, как 'стебель (х, подсчеты, 'б', 'Маркер', 'ни один');' (возможно, только на моей MatLab версии). Кроме того, ';' ваши друзья;> –

+0

Да, гораздо лучше без маркеров; а также больше похоже на то, что 'imhist' без выходных аргументов –

+0

Работал отлично !! Большое спасибо за помощь!! – user2650768

0

Попробуйте это!

figure (x), 
subplot(2,1,1); imhist(agray); 
subplot(2,1,2); imhist(bgray); 
Смежные вопросы