【发布时间】:2018-05-27 17:20:45
【问题描述】:
我知道如何使用以下命令获取大小为 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 值(因此它是 3D 矩阵)。您可以将其视为红色、绿色和蓝色强度的三个 2D 矩阵。 那么在这种情况下,如何计算 Matlab 中三个二维矩阵的平均值呢?
【问题讨论】:
-
当您对任何大小的任何矩阵执行 A(:) 时,它会被转换为列向量。你知道其余的。对吗?
-
是的,我从我们估计均值的转换后的列向量中知道,但我的问题是对于彩色图像,我们有三个矩阵,其中一个被使用或全部三个被使用并转换为列向量或我不知道的其他事情,这就是我想知道的@SardarUsama
-
正如 Sardar 在他的评论中所写,冒号运算符
(:)将任意维度的数组转换为列向量。所以,整个mxnx3矩阵变成了一个列向量。因此,它的所有条目都有助于平均值。如果您只想要红色 RGB 数据的平均值,则需要执行B=A(:, :, 1); mean_1 = mean(B(:))。 -
@AmosEgel 在估计平均值时包含第三维(页面)值。,对吗?
-
@anil 您还有其他问题吗?或者 Sardar 和 Amos 是否解决了您的所有问题?
标签: matlab