как Matlab вычисляет среднее значение всего изображения? - PullRequest
0 голосов
/ 27 мая 2018

Я знаю, как получить среднее значение всего изображения размером mxnx3 uint8 с помощью следующей команды

m = mean(I(:));

мое понимание этой команды предполагает, что у нас есть матрица

 A=[1 2 3;4 5 6; 7 8 9]; 

 mean_1=mean(A(:));

вывод:

 A =

 1     2     3
 4     5     6
 7     8     9


mean_1 =

       5

Цветное изображение сохраняется в виде матрицы mxnx3, где каждый элемент является значением RGB этого конкретного пикселя (следовательно, это трехмерная матрица).Вы можете рассматривать его как три 2D матрицы для красной, зеленой и синей интенсивностей.Итак, как рассчитывается среднее значение в этом случае для трех 2D матриц в Matlab?

1 Ответ

0 голосов
/ 28 мая 2018

Как было предложено в комментариях, вы можете создать временный массив для страниц R, G и B матрицы и рассчитать их среднее значение, но в конкретном случае матрицы 3D RGB вы, вероятно, лучшепросто сделать,

rgb_mean = squeeze(mean(mean(A,1),2))

Если вы не знакомы с squeeze, он преобразует 3D матрицу 1x1x3, полученную в результате взятия средств, в двухмерный вектор 1x3, который, скорее всего, соответствует вашему.ожидаю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...