首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MATLAB中求图像的标准差

问如何在MATLAB中求图像的标准差
EN

Stack Overflow用户
提问于 2012-11-16 11:47:11
回答 3查看 9K关注 0票数 2

我有一个图像,我想找出图像每一行的标准差,我将使用每一行的SD值来计算图像的平均SD。我知道查找SD (std)的函数,但我不知道如何开始/做。

EN

回答 3

Stack Overflow用户

发布于 2012-11-16 12:08:47

MATLAB中的图像仍然只是矩阵。由于您想要获取行的标准差,因此可以使用std(A,0,2)沿行获取标准差。然后,您可以在结果向量上再次使用std,以获得我认为您正在寻找的内容。

票数 2
EN

Stack Overflow用户

发布于 2012-11-16 14:06:24

如果您有灰度图像,请使用

代码语言:javascript
复制
mean(std(img.'))

如果您有彩色图像(即ndims(img) == 3),则必须在数组的每一页上重复上述操作:

代码语言:javascript
复制
squeeze( mean(std(img,0,2)) )

这将导致每一颜色层的每一行的平均标准偏差。

票数 1
EN

Stack Overflow用户

发布于 2012-11-16 14:32:30

与计算每一行的std然后取平均值不同,直接计算整个图像(所有像素值)的std不是更准确(也更简单)吗?这就是:

代码语言:javascript
复制
 std(img(:));

取每一行的std,然后取平均值并不完全是图像所有像素值的std……例如:

代码语言:javascript
复制
 >> a=peaks(100);
 >> mean(std(a.'))

 ans =

     1.4223

 >> std(a(:))

 ans =

     1.8882
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13410071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档