[英]how does Matlab calculate the mean of whole image?
我知道如何使用以下命令對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中為三個2D矩陣計算平均值?
正如評論中所建議的那樣,您可以為矩陣的R,G和B頁創建一個臨時數組並計算其均值,但是在3D RGB矩陣的特定情況下,您最好做一下,
rgb_mean = squeeze(mean(mean(A,1),2))
如果您不熟悉squeeze
,它將把采用均值法得到的3D 1x1x3矩陣轉換為2D 1x3向量,這很可能是您所期望的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.