原点矩与中心矩
- 格式:ppt
- 大小:128.00 KB
- 文档页数:20
矩在物理、数学以及图像处理中的意义一、物理意义:(点表示质量)1、零点矩:总质量;2、一阶矩:重心;3、二阶矩:转动惯量。
二、矩的数学意义:1、矩:一组点组成的模型的特定的数量测度,定义在实数域的实函数相对于值C的n阶矩为:归一化n阶中心矩或者说标准矩,是n阶中心矩除以标准差σn,归一化n阶中心矩为:2、一阶矩:就是期望值、平均数;4、二阶矩:就是方差;5、三阶(中心)矩:随机变量的偏态(衡量分布不对称性),表示偏斜度。
注:①任何对称分布的随机变量的偏态为0;②偏态:6、四阶(中心)矩:峰度加3。
注:①一般随机变量的峰度定义为其四阶矩与方差平方的比值减3,减3是为了让正态分布峰度为0,这也被称为超值峰度;②峰度:7、混合矩:多个变量的矩,如协方差,协偏度,协峰度。
协方差只有一个,协峰度和协偏度存在多个。
8、样本矩:通过样本来估计,不需要先估计其概率分布;(均值)注:①对于任何样本大小,原始样本矩的期望值等于群体的k阶矩。
②矩通常通过样本矩估计※中心转换:∵∴三、在图像处理中的意义:1、背景知识:①图像被概括为具有几个较低阶矩的函数。
面积(二值图)或灰度和(灰度图):M00②质心:③唯一性定理:如果f(x ,y)是分段连续并且仅在x y平面的有限部分中具有非零值,则存在所有阶的矩,并且矩序列M pq由f(x, y)唯一确定。
反之中心矩M pq唯一确定f(x, y)。
④图像看成概率密度计算:2、图像矩:图像像素强度的某个特定加权平均(矩),或是这样的矩的函数,通常选一些具有吸引力的特性或解释。
3、原点矩:对于一个二维连续函数f(x,y),第(p+q)个点的矩被定义为像素强度为I(x, y)的灰度图,原点矩为:4、中心矩:若是数字图像,则等式变为5、三阶以下中心矩依次为:∴注:中心矩具有平移不变性。
二阶原点矩和二阶中心矩1.引言1.1 概述二阶原点矩和二阶中心矩是统计学中常用的描述统计量,用于描述一个随机变量或随机过程的分布特征。
它们在统计分析、概率论、图像处理等领域都有广泛的应用。
二阶原点矩是描述一个随机变量的离散程度的量度,在二维平面上表示为(X, Y)。
它是指将随机变量的值与原点(0, 0)的距离的平方加权求和的期望值。
直观上,它可以理解为随机变量分布的离散程度,越大表示分布越分散,越小则表示分布越集中。
而二阶中心矩则是描述随机变量相对于其均值的离散程度的量度。
与二阶原点矩不同的是,二阶中心矩是在原点平移后进行计算的,它用于分析随机变量的对称性和形状特征。
二阶中心矩的计算方法是将随机变量的值减去均值后的差的平方加权求和的期望值。
二阶原点矩和二阶中心矩在统计分析中起到了关键的作用。
它们可以帮助我们更加全面地了解数据的分布情况,从而进行更精确的统计推断和预测。
在实际应用中,我们可以利用这些统计量来比较各个样本之间的差异、评估模型的拟合程度、寻找异常值等。
本文旨在介绍二阶原点矩和二阶中心矩的定义、计算方法以及它们的应用领域。
通过深入理解这两个概念,我们能够更好地进行数据分析和解释,为我们的研究和决策提供更有力的支持。
在接下来的章节中,我们将详细讨论它们的定义和计算方法,并探讨它们在实际应用中的作用和意义。
文章结构如下:首先,我们将在第2节介绍二阶原点矩的定义和计算方法;然后,在第3节讨论二阶中心矩的内涵和计算方法;最后,我们将在第4节总结并提出本文的结论。
通过阅读本文,读者将对二阶原点矩和二阶中心矩有更为深刻的理解,并能够灵活应用它们进行数据分析和解释。
希望本文能对读者在统计分析和概率论学习中起到一定的帮助和指导。
文章结构部分的内容可以参考以下样例:"1.2 文章结构本文将以二阶原点矩和二阶中心矩为主题,通过引言、正文和结论三个部分对其进行详细的阐述和分析。
引言部分将首先概述二阶原点矩和二阶中心矩的概念和重要性,以引起读者的兴趣和注意。
正态分布矩估计正态分布矩估计引言在统计学中,矩估计是一种参数估计方法,它通过样本矩来估计总体参数。
其中,样本矩是指样本的各阶原点矩和中心矩。
正态分布是一种常见的概率分布,具有许多重要的应用,如金融、物理、天文学等领域。
因此,正态分布的矩估计方法对于这些领域的数据分析非常重要。
正态分布的基本概念正态分布是一种连续型概率分布,其概率密度函数为:$$f(x)=\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(x-\mu)^2}{2\sigma^2}}$$其中,$\mu$ 是均值,$\sigma$ 是标准差。
正态分布有许多重要性质:1. 正态分布是对称的,在均值处取得最大值。
2. 68% 的数据落在均值 $\pm$ 标准差范围内;95% 的数据落在均值$\pm$ 2 倍标准差范围内;99.7% 的数据落在均值 $\pm$ 3 倍标准差范围内。
3. 正态分布有一个重要的中心极限定理,即若从总体中随机抽取大量样本,则样本均值的分布趋近于正态分布。
矩估计方法矩估计是一种参数估计方法,它通过样本矩来估计总体参数。
其中,样本矩是指样本的各阶原点矩和中心矩。
对于正态分布,其前两个原点矩和中心矩为:$$E(X)=\mu$$$$E[(X-\mu)^2]=\sigma^2$$因此,我们可以用这两个样本矩来估计正态分布的均值和标准差。
具体地,设 $X_1,X_2,\cdots,X_n$ 是一个来自正态分布$N(\mu,\sigma^2)$ 的样本,则其前两个原点矩和中心矩为:$$\overline{X}=\frac{1}{n}\sum_{i=1}^n X_i$$$$S^2=\frac{1}{n-1}\sum_{i=1}^n (X_i-\overline{X})^2$$其中,$\overline{X}$ 和 $S^2$ 分别是样本均值和样本方差。
根据上述公式,我们可以得到正态分布的均值和标准差的矩估计量:$$\hat{\mu}=\overline{X}$$$$\hat{\sigma}=\sqrt{S^2}$$这里的 $\hat{\mu}$ 和 $\hat{\sigma}$ 分别是正态分布均值和标准差的矩估计量。
k阶原点距和k阶中心距各是说明什么数字特征在数学的概率领域中有一类数字特征叫矩.(X^k为X的k次方)原点矩:对于正整数k,如果E|X^k|<无穷,称Vk=E(X^k) 为随机变量X的k阶原点矩.X的数学期望是X的一阶原点矩,即E(x)=v1.k阶矩定义:设X为随机变量,c为常数,k为正整数,如果E[|X-c|^c]<无穷大,则称E[(X -c)^k]为X关于点c的k阶矩.c=0时,称其为X的k阶原点矩;c=E[X]时,称为k阶中心矩.原点矩顾名思义,是随机变量到原点的距离(这里假设原点即为零点)。
中心矩则类似于方差,先要得出样本的期望即均值,然后计算出随机变量到样本均值的一种距离,与方差不同的是,这里所说的距离不再是平方就能构建出来的,而是k次方。
这也就不难理解为什么原点矩和中心矩不是距离的“距”,而是矩阵的“矩”了。
仅凭本人目前的所学,我认为通过随机试验得出的各种结果虽然都假定为实值单值函数,但它们完全有可能是空间分布,即不在一个平面上。
那么这是的距离就类似于一个向量的模了,于是在空间的范围内也能比较出大小来了。
我们都知道方差源于勾股定理,这就不难理解原点矩和中心矩了。
还能联想到力学中的力矩也是“矩”,而不是“距”。
力矩在物理学里是指作用力使物体绕着转动轴或支点转动的趋向。
力矩也是矢量,它等于力乘力臂。
由此可见数学和物理关系非同一般!二阶中心距,也叫作方差,它告诉我们一个随机变量在它均值附近波动的大小,方差越大,波动性越大。
方差也相当于机械运动中以重心为转轴的转动惯量。
(The moment of iner tia.)三阶中心距告诉我们一个随机密度函数向左或向右偏斜的程度。
在均值不为零的情况下,原点距只有纯数学意义。
A1,一阶矩就是 E(X),即样本均值。
具体说来就是A1=(西格玛Xi)/n ----(1)A2,二阶矩就是 E(X^2)即样本平方均值 ,具体说来就是 A2=(西格玛Xi^2)/n-----(2)Ak,K阶矩就是 E(X^k)即样本K次方的均值,具体说来就是 Ak=(西格玛Xi^k)/n,-----(3)用样本的K阶矩代替总体的K阶矩来估计总体中未知参数的方法。
伯努利分布的矩生成函数伯努利分布是概率论中的一种离散概率分布,它描述了在一次试验中只有两种可能结果的情况。
这两种可能结果通常被称为成功和失败,分别对应概率为p和1-p。
伯努利分布的矩生成函数是一种用于描述该分布的数学工具,它可以帮助我们计算出该分布的各阶矩。
首先,我们来了解一下伯努利分布的概率质量函数。
对于伯努利分布来说,其概率质量函数可以表示为:P(X=k) = p^k * (1-p)^(1-k),其中k只能取0或1。
接下来,我们来介绍一下矩生成函数的概念。
矩生成函数是一种用于描述随机变量的数学工具,它可以通过求解随机变量的各阶矩来描述该随机变量的特性。
对于伯努利分布来说,其矩生成函数可以表示为:M(t) = E(e^(tX)) = p*e^t + (1-p),其中E表示期望值。
通过求解矩生成函数,我们可以得到伯努利分布的各阶矩。
首先,我们来计算一阶矩(均值):M'(t) = d(M(t))/dt = p*e^t将t=0代入上式,可以得到均值:M'(0) = p因此,伯努利分布的均值为p。
接下来,我们来计算二阶矩(方差):M''(t) = d^2(M(t))/dt^2 = p*e^t将t=0代入上式,可以得到方差:M''(0) = p因此,伯努利分布的方差为p。
通过计算矩生成函数的各阶导数,并代入t=0,我们可以得到伯努利分布的各阶矩。
这些矩可以帮助我们更好地理解和描述伯努利分布的特性。
除了计算各阶矩之外,矩生成函数还可以用于计算伯努利分布的其他性质。
例如,通过对矩生成函数进行展开,我们可以得到伯努利分布的所有原点矩和中心矩。
原点矩描述了随机变量的原始特性,而中心矩描述了随机变量与其均值之间的关系。
此外,矩生成函数还可以用于计算伯努利分布的协方差和相关系数等统计量。
这些统计量可以帮助我们更好地理解伯努利分布与其他随机变量之间的关系。
总结起来,伯努利分布的矩生成函数是一种用于描述该分布特性的数学工具。
opencv中的图像矩(空间矩,中⼼矩,归⼀化中⼼矩,Hu矩)严格来讲矩是概率与统计中的⼀个概念,是随机变量的⼀种数字特征。
设 x 为随机变量,C为常数,则量E[(x−c)^k]称为X关于C点的k阶矩。
⽐较重要的两种情况如下:1.c=0,这时a_k=E(X^k)称为X的k阶原点矩;2.c=E(X),这时µ_k=E[(X−EX)^k]称为X的k阶中⼼矩⼀阶原点矩就是期望,⼀阶中⼼矩µ_1=0,⼆阶中⼼矩µ_2就是X的⽅差Var(X)。
在统计学上,⾼于4阶的矩极少使⽤,µ_3可以去衡量分布是否有偏,µ_4可以衡量分布(密度)在均值拘谨的陡峭程度。
对于数学来说⼀阶原点矩就是期望。
⼆阶中⼼矩就是随机变量的的⽅差. 在统计学上,⾼于4阶的矩极少使⽤。
三阶中⼼距可以去衡量分布是否有偏。
四阶中⼼矩可以去衡量分布在均值附近的陡峭程度如何。
那针对⼀幅图像,我们把像素的坐标看成是⼀个⼆维随机变量(X, Y),那么⼀副灰度图可以⽤⼆维灰度图密度函数来表⽰,因此可以⽤矩来描述灰度图像的特征。
空间矩的实质为⾯积或者质量。
可以通过⼀阶矩计算质⼼/重⼼。
重⼼(中⼼centers):Hu矩class Moments{public :Moments();Moments(double m00, double m10, double m01, double m20, double m11,double m02, double m30, double m21, double m12, double m03 );Moments( const CvMoments& moments );operator CvMoments() const ;// spatial moments 空间矩double m00, m10, m01, m20, m11, m02, m30, m21, m12, m03;// central moments 中⼼矩double mu20, mu11, mu02, mu30, mu21, mu12, mu03; // central normalized moments 中⼼归⼀化矩double nu20, nu11, nu02, nu30, nu21, nu12, nu03;}#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc.hpp>using namespace cv;using namespace std;//定义窗⼝名字的宏#define WINDOW_NAME1 "【原始图】"#define WINDOW_NAME2 "【图像轮廓】"//全局变量的声明Mat g_srcImage, g_grayImage;int g_nThresh = 100;int g_nMaxThresh = 255;RNG g_rng(12345);Mat g_cannyMat_output;vector<vector<Point> > g_vContours;vector<Vec4i>g_vHierarchy;//全局函数声明void on_ThreshChange(int, void*);//main()函数int main(){//改变console字体颜⾊system("color 1E");//读⼊原图,返回3通道图像数据g_srcImage = imread("E:\\VS2015Opencv\\vs2015\\project\\picture\\01.jpg", 1);//源图像转化为灰度图像并平滑cvtColor(g_srcImage, g_grayImage, COLOR_BGR2GRAY);blur(g_grayImage, g_grayImage, Size(3, 3));//创建新窗⼝namedWindow(WINDOW_NAME1, WINDOW_AUTOSIZE);imshow(WINDOW_NAME1, g_srcImage);//创建滚动条并进⾏初始化createTrackbar("阈值:", WINDOW_NAME1, &g_nThresh, g_nMaxThresh, on_ThreshChange);on_ThreshChange(0, 0);waitKey(0);return 0;}void on_ThreshChange(int, void *){//使⽤canny检测边缘Canny(g_grayImage, g_cannyMat_output, g_nThresh, g_nThresh * 2, 3);//找到轮廓findContours(g_cannyMat_output, g_vContours, g_vHierarchy, RETR_TREE, CHAIN_APPROX_SIMPLE, Point(0, 0));//计算矩vector<Moments> mu(g_vContours.size());for (unsigned int i = 0; i < g_vContours.size(); i++){mu[i] = moments(g_vContours[i], false);}//计算中⼼矩vector<Point2f>mc(g_vContours.size());for (unsigned int i = 0; i < g_vContours.size(); i++){mc[i] = Point2f(static_cast<float>(mu[i].m10 / mu[i].m00), static_cast<float>(mu[i].m01 / mu[i].m00));}//绘制轮廓Mat drawing = Mat::zeros(g_cannyMat_output.size(), CV_8UC3);for (unsigned int i = 0; i < g_vContours.size(); i++){//随机⽣成颜⾊值Scalar color = Scalar(g_rng.uniform(0, 255), g_rng.uniform(0, 255), g_rng.uniform(0, 255));//绘制外层和内层轮廓drawContours(drawing, g_vContours, i, color, 2, 8, g_vHierarchy, 0, Point());//绘制圆circle(drawing, mc[i], 4, color, -1, 8, 0);}//显⽰到窗⼝中namedWindow(WINDOW_NAME2, WINDOW_AUTOSIZE);imshow(WINDOW_NAME2, drawing);//通过m00计算轮廓⾯积和Opencv函数⽐较printf("\t输出内容:⾯积和轮廓长度\n");for (unsigned int i = 0; i < g_vContours.size(); i++){printf(">通过m00计算出轮廓[%d]的⾯积:(M_00) = %.2f \n Opencv函数计算出⾯积 = %.2f,长度:%.2f \n\n", i, mu[i].m00, contourArea(g_vContours[i]), arcLength(g_vContours[i], true)); Scalar color = Scalar(g_rng.uniform(0, 255), g_rng.uniform(0, 255), g_rng.uniform(0, 255));drawContours(drawing, g_vContours, i, color, 2, 8, g_vHierarchy, 0, Point());circle(drawing, mc[i], 4, color, -1, 8, 0);}}本⽂参考:。