1
我想在MATLAB中總結我的圖像(這是一個128x128 Uint8),但是,我的總和只會達到255的值。它只是保留一遍又一遍地顯示255。MATLAB圖像求和混淆
這是否意味着我的變量被分配了一個Uint8或什麼?如果是的話,我該如何改變這一點?
乾杯!
我想在MATLAB中總結我的圖像(這是一個128x128 Uint8),但是,我的總和只會達到255的值。它只是保留一遍又一遍地顯示255。MATLAB圖像求和混淆
這是否意味着我的變量被分配了一個Uint8或什麼?如果是的話,我該如何改變這一點?
乾杯!
是的,大概你的數據是Uint8類型的。但是你不必循環求和,只需使用sum
函數。假設你的數據在x
:
total = sum(double(x(:)))
sum
將工作在一個單一的維度,所以如果你只是通過它直接double(x)
,它會返回一個1x128
矩陣;在這裏我們已經將所有數據重新整合到一維向量中(使用(:)
),該數據已使用double
函數轉換爲double。
請注意,您的變量的類型將隨其名稱和大小一起顯示在「工作區」窗口中。
太棒了,我看到了啊!謝謝,對於這個相當愚蠢的問題感到抱歉! – Shinobii
在執行求和之前,'sum'實際上會將任何整數類型轉換爲默認值的兩倍。因此,顯式轉換並不是真正需要的,但它並沒有傷害,並且明確表明您知道需要進行轉換。 – BjoernH