2015-12-06 5 views
0

У меня есть изображение с типом данных uint8. В этом изображении имеется несколько объектов (например, от 6 до 7). Я хочу рассчитать среднюю интенсивность каждого объекта и сохранить их для дальнейшего использования. Как я могу это сделать?Средняя интенсивность каждого объекта изображения по MATLAB

s = regionprops(image,'MeanIntensity'); 
intensitydata = cat(1, s.MeanIntensity); 

Я пробовал этот. Но это дает мне следующее сообщение об ошибке

Ошибка в regionprops (строка 154)
[I, requestedStats, officialStats] = ParseInputs (IMAGESIZE, varargin {:});

+0

Как представлены объекты? вам также нужно их обнаружить? укажите пример изображения и ввода, которые у вас есть. Как вы сейчас сомневаетесь, это неясно. – Shai

+0

[ссылка] (http://i.imgur.com/HbKhmVO.png) Образец изображения приведен здесь. Я хочу только средние значения интенсивности объектов. Если есть 6 объектов, я хочу 6 средних значений интенсивности для каждого объекта. Это все. Надеюсь, вы понимаете. –

ответ

3

Для того, чтобы получить 'MeanIntensity' вам необходимо предоставить два входа regionprops: изображение этикетки и изображения интенсивности.

bw = img > 0; %// a mask indicating the locations of the objects 
lb = bwlabel(bw); %// label each object 
s = regionprops(lb, img, 'MeanIntensity'); 
Смежные вопросы