MATLAB图像求和算法

MATLAB图像求和算法,matlab,Matlab,我试图在MATLAB(只是一个简单的for循环)中对我的图像(它是一个128x128 Uint8)求和,但是,我的和只会增加到255。后记它只是一遍又一遍地显示255 这是否意味着我的变量被分配了Uint8或其他什么?如果是,我该如何改变这一点 干杯 是的,您的数据可能属于Uint8类型。但是您不必循环求和,只需使用sum函数即可。假设您的数据位于x: total = sum(double(x(:))) sum将在单个维度上运行,因此如果您直接传递它double(x),它将返回一个1x128矩

我试图在MATLAB(只是一个简单的for循环)中对我的图像(它是一个128x128 Uint8)求和,但是,我的和只会增加到255。后记它只是一遍又一遍地显示255

这是否意味着我的变量被分配了Uint8或其他什么?如果是,我该如何改变这一点


干杯

是的,您的数据可能属于Uint8类型。但是您不必循环求和,只需使用
sum
函数即可。假设您的数据位于
x

total = sum(double(x(:)))
sum
将在单个维度上运行,因此如果您直接传递它
double(x)
,它将返回一个
1x128
矩阵;在这里,我们将所有重塑后的数据传递给了它一个一维向量(使用
(:)
),该向量已使用
double
函数转换为double


请注意,您的变量类型将与其名称和大小一起显示在工作区窗口中。

是,您的数据可能属于Uint8类型。但是您不必循环求和,只需使用
sum
函数即可。假设您的数据位于
x

total = sum(double(x(:)))
sum
将在单个维度上运行,因此如果您直接传递它
double(x)
,它将返回一个
1x128
矩阵;在这里,我们将所有重塑后的数据传递给了它一个一维向量(使用
(:)
),该向量已使用
double
函数转换为double


请注意,您的变量类型及其名称和大小将显示在工作区窗口中。

太棒了,我明白了!谢谢,很抱歉问了这么愚蠢的问题
sum
在执行求和之前,默认情况下会将任何整数类型转换为double。因此,显式转换实际上是不需要的,但它不会造成伤害,并且清楚地表明,您知道需要进行转换。太棒了,啊,我明白了!谢谢,很抱歉问了这么愚蠢的问题
sum
在执行求和之前,默认情况下会将任何整数类型转换为double。因此,显式转换实际上是不需要的,但它不会有什么坏处,并且明确表示您知道需要进行转换。