Рассчитать среднее значение серого для подизображения, заданного индексированием строк и столбцов в MATLAb - PullRequest
1 голос
/ 15 февраля 2012

У меня есть изображение, и я хочу вычислить среднее значение серого для различных участков изображения.Я начал с определения патча, используя индекс строки и столбца.Вот как я указываю, где находится мой подизображение.

for x = 10 : 1 : 74
    for y = 30 : 1 : 94            
    .........
    end
end`

Теперь, как рассчитать среднее значение серого для этого подизображения?Я знаю, что все это значит находить среднее (среднее (изображение)).Но так как у меня есть только позиции строк и столбцов, как я могу применить эту же концепцию.

Ответы [ 3 ]

0 голосов
/ 15 февраля 2012

попробуйте

mean(mean(im(10:74,30:94)))
0 голосов
/ 15 февраля 2012

Альтернативное решение: сверните изображение (I) с плоским ядром (h) (размер вашего «подизображения») и примите значение результата при любом индексе.

h = ones(a,b); % sub-image is size a x b
h = h / sum(h(:));
J = imfilter(I, h);
% J(x,y) will give you the average of a sub-image centered on (x,y)

Крайние случаи могут вызывать странное поведение (субизображение выходит за пределы диапазона изображения), но вы можете указать третий аргумент для imfilter, чтобы решить эту проблему.

0 голосов
/ 15 февраля 2012

Предполагая, что ваше изображение является некоторой матрицей MxN, почему бы вам не создать подматрицу и не рассчитать среднее значение для этого?

Например:

subimage = image(10:74, 30:94);
mean_grey = mean(mean(subimage))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...