Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
 
 
主题工具 显示模式
旧 2019-12-10, 16:49   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 一个区域的第二时刻是什么?

我目前正在研究在Octave中复制Matlab的regionprops函数的某些功能。但是,我对该功能的一个子集有些困扰。我的重点是“偏心率”,“ MajorAxisLength”,“ MinorAxisLength”和“ Orientation”属性。在文档中,它们都源自“ ...具有与该区域相同的第二矩的椭圆”。

所以我的问题是,这些第二时刻是什么?如何找到它们?

我正在查看此链接: http : //en.wikipedia.org/wiki/Image_moments

老实说,这让我更加困惑。谁能指出我对初学者更友好的东西?谢谢。


回答:
该文档用“第二时刻”表示第二个中心时刻

对于一维数据,这将是方差 (或标准偏差的平方)。

在您的情况下,如果您具有二维数据,则第二个中心矩是协方差矩阵

如果X是您区域中点的n×2矩阵,则可以像这样(未经测试)在MATLAB中计算协方差矩阵Sigma :

mu=mean(X,1); X_minus_mu=X-repmat(mu, size(X,1), 1); Sigma=(X_minus_mu'*X_minus_mu)/size(X,1); 现在,这与椭圆有什么关系?好吧,实际上,您在这里所做的就是将多元正态分布拟合到数据中。协方差矩阵确定该分布的形状,而多元正态分布的等高线(等待它) 是椭圆

椭圆轴的方向和长度由协方差矩阵的特征向量和特征值给出:

[V, D]=eig(Sigma); V的列现在是特征向量(即轴的方向),而D对角线上的值是特征值(即轴的长度)。因此,您已经有了“ MajorAxisLength”和“ MinorAxisLength”。方向可能只是主轴与水平线之间的角度(提示:使用atan2从沿主轴指向的向量计算该角度)。最后, 偏心

sqrt(1-(b/a)^2) 其中,a是长轴的长度,b是短轴的长度。



更多&回答...
poster 当前离线   回复时引用此帖
 

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 03:19


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.