matlab求图像直方图的方差

2025-01-05 07:22:16
推荐回答(1个)
回答1:

不仅仅是求方差var不行吧?标准差std应该也不行(其实标准差就是调用方差函数再开平方)。

 

原因是,图像数据的类型是整数(uint8),要想进行方差之类的计算,需要转化为浮点数(double或single):

std(double(f))
var(double(f))

另外需要注意,由于f是矩阵,var或std都是对各列进行的,所以得到的结果是行向量。要想得到整个矩阵的方差,应该用:

>> var(double(f(:)))
ans =
  5.1473e+003
>> std(double(f(:)))
ans =
   71.7444