2013-03-29 70 views
1

我想在MATLAB中總結我的圖像(這是一個128x128 Uint8),但是,我的總和只會達到255的值。它只是保留一遍又一遍地顯示255。MATLAB圖像求和混淆

這是否意味着我的變量被分配了一個Uint8或什麼?如果是的話,我該如何改變這一點?

乾杯!

回答

4

是的,大概你的數據是Uint8類型的。但是你不必循環求和,只需使用sum函數。假設你的數據在x

total = sum(double(x(:))) 

sum將工作在一個單一的維度,所以如果你只是通過它直接double(x),它會返回一個1x128矩陣;在這裏我們已經將所有數據重新整合到一維向量中(使用(:)),該數據已使用double函數轉換爲double。

請注意,您的變量的類型將隨其名稱和大小一起顯示在「工作區」窗口中。

+0

太棒了,我看到了啊!謝謝,對於這個相當愚蠢的問題感到抱歉! – Shinobii

+1

在執行求和之前,'sum'實際上會將任何整數類型轉換爲默認值的兩倍。因此,顯式轉換並不是真正需要的,但它並沒有傷害,並且明確表明您知道需要進行轉換。 – BjoernH