matlab求图像直方图的方差

matlab求图像直方图的方差,第1张

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

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

std(double(f))

var(double(f))

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

>> var(double(f(:)))

ans =

  51473e+003

>> std(double(f(:)))

ans =

   717444

这个你具体打开help,分别搜var和std函数就行了,help里边说的很明白很详细,一看就懂。

我这里稍微做一下解释:

v1=var(x)

V = var(X) returns the variance of X for vectors

v2=var(x,0)

var(X,0) is equivalent to var(X)

v3=var(x,1)

V = var(X,1) normalizes by N and produces the second moment of the sample about its mean

v4=var(x,w)

V = var(X,w) computes the variance using the weight vector w

v5=var(x,1,1)

V = var(X,w,dim) takes the variance along the dimension dim of X

s1=std(x)

s = std(X), where X is a vector, returns the standard deviation using (1) above

(std可以使用不同的式子求,求出来不等价,看具体情况选择,这里的(1)是help里边的一个公式)

s2=std(x,1)

s = std(X,flag) for flag = 0, is the same as std(X) For flag = 1, std(X,1) returns the standard deviation using (2) above, producing the second moment of the set of values about their mean

s3=std(x,w)

s = std(X,flag,dim) computes the standard deviations along the dimension of X specified by scalar dim Set flag to 0 to normalize Y by n-1; set flag to 1 to normalize by n

这里只是大体粘贴了一下,公式在help里边也有,你还是自己help一下哈~

以上就是关于matlab求图像直方图的方差全部的内容,包括:matlab求图像直方图的方差、matlab用var函数算出的方差和标准差求解释~!!~!~!、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10126821.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存