2014-08-29 1 views
0

У меня изображение в сером масштабе. Я хочу построить медиану столбцов этого изображения на оси изображения. Для делать это мне нужно иметь две вещи:Вычисление медианы изображения на координатах изображения

  1. средние значения столбцов (которые я могу получить, используя Median команду Matlab), и
  2. положение медианного значения в изображении координат.

Может ли кто-нибудь помочь мне или дать подсказку или идею или любую функцию для оценки медианного положения?

+0

Там могут быть много серошкальных значения уровня в столбце со значением, равным медиане в данном столбце. Итак, вы хотите, чтобы все значения были отмечены или только один? – Marcin

+0

ну, я хочу, чтобы все они были отмечены, но я думаю, что могут быть случаи, когда медианное значение не совпадает со значениями в столбце – yoyo

+0

Я представил пример ответа на эту проблему. Надеюсь, поможет. – Marcin

ответ

1

Этого код помечает все значения уровней градации серых в данном столбце, равных медианное значение для этого столбца:

load clown 


M = median(X, 1); 

figure(); 
imshow(uint8(X)); 
hold on; 

for columnIdx = 1:numel(M) 
    medianValue = M(columnIdx); 

    % find locations of gray-scale lavel values equal to the median   
    idx = find(X(:, columnIdx) == medianValue); 

    if numel(idx) > 0 
     % mark all the gray-scale level values on the image 
     plot(ones(1,numel(idx)) * columnIdx, idx, '.g'); 
    end 

end 

enter image description here

Надеется, что это помогает

+0

... спасибо :) ... – yoyo