Matlab如何计算整个图像的平均值?

时间:2018-05-27 17:20:45

标签: matlab

我知道如何使用以下命令获取大小为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中三个二维矩阵的平均值?

1 个答案:

答案 0 :(得分:0)

正如评论中所建议的那样,您可以为矩阵的R,G和B页面创建一个临时数组并计算它们的平均值,但在3D RGB矩阵的特定情况下,您可能会更好刚做,

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

如果您不熟悉squeeze,它会将采用手段产生的3D 1x1x3矩阵转换为2D 1x3矢量,这很可能是您所期望的。

相关问题