我试图在MATLAB中总结我的图像(它是一个128x128的Uint8)(只是一个简单的for循环),但是,我的总和只会达到255的值。之后它只会继续显示255和再一次。
这是否意味着我的变量已被分配了Uint8或其他东西?如果是这样,我该怎么改变呢?
干杯!
答案 0 :(得分:4)
是的,可能您的数据类型为Uint8。但是你不必循环求和,只需使用sum
函数即可。假设您的数据位于x
:
total = sum(double(x(:)))
sum
将在一个维度上运行,因此如果您直接传递double(x)
,它将返回1x128
矩阵;在这里,我们将所有重新整形的数据传递给了一维向量(使用(:)
),使用double
函数将其转换为double。
请注意,变量的类型将在“工作区”窗口中显示其名称和大小。