矩特征

作者: 长歌行夜一 | 来源:发表于2020-08-09 12:33 被阅读0次

矩特征被广泛应用于图像识别、模式识别等方面。矩信息包含了对应图像不同类型的几何特征,如大小、形状、角度、位置等,一个轮廓矩代表一个轮廓、一幅图像、一组点集的全局特征。

1.矩的计算

Opencv提供了函数cv2.moments()来获取图像的moments特征,我们也将用这个函数获取的轮廓特征称为轮廓矩。轮廓矩描述了一个轮廓的重要特征,可以用来比较两个轮廓。

retval = cv2.moments(array,binaryImage)

式中有两个参数:

array:可以是点集,也可以是灰度图像或者二值图像。当它是点集时,函数会把这些点集当成是轮廓的顶点,把整个点集作为一条轮廓,而不是把它们当做独立的点来看待;

binaryImage:该参数为True时,array内所有的非零值都被处理为1.该参数仅在参数array为图像时有效。

该函数的返回值retval是矩特征,主要包括:

1)空间矩

零阶矩:m00;一阶矩:m10, m01;二阶矩:m20,m11,m02;三阶矩:m30,m21,m12, m03

2)中心矩

二阶中心矩:mu20, mu11, mu02;三阶中心矩:mu30, mu21, mu12, mu03

3)归一化中心矩

二阶Hu矩:nu20,, nu11, nu02;三阶Hu矩:nu30, nu21, nu12, nu03

大多数矩都是通过数学公式计算得到的抽象特征,但零阶矩“m00"的含义比较直观,表示一个轮廓的面积。假如有两个轮廓,不管它们出现在图像的哪个位置,我们都可以通过函数cv2.moments()的m00矩来判断其面积是否一致。在位置发生变化时,虽然轮廓的面积、周长等特征不变,但是耿高阶的特征会随着位置的变化而发生变化。

在很多情况下,我们希望比较不同位置的两个对象的一致性。解决这一问题的方法是引入中心矩。中心矩通过减去均值而获取平移不变性,因而能够比较不同位置的两个对象是否一致。

除了考虑平移不变性外,有时还会考虑缩放一致性,也就是希望图像在缩放前后能够拥有相同的特征值。中心矩没有这个属性。归一化中心矩通过除以物体的总尺寸而获得缩放不变性,它也有平移不变性。

在OpenCV中,cv2.moments()会同时计算上述空间矩、中心化矩和归一化中心矩。

2.计算轮廓的面积

函数cv2.contourArea()用于计算轮廓的面积。

retval = cv2.contourArea(contour [,oriented ])

有两个参数:

contour: 表示轮廓

oriented:是布尔值,当它为True时,返回的值带正/负号(表示轮廓是顺时针的还是逆时针的)。默认为False,返回的是绝对值。

代码 运算结果

两种方法求得的面积是一致的。

3.计算轮廓的长度

retval = cv2.arcLength(cure, closed)

cure:表示的是轮廓

closed: 是布尔值,表示轮廓是否是封闭的。True表示封闭

代码 部分轮廓展示 轮廓的值

注意:实际上这里得到的轮廓长度是浮点值,这里取整处理

相关文章

  • 矩特征

    矩特征被广泛应用于图像识别、模式识别等方面。矩信息包含了对应图像不同类型的几何特征,如大小、形状、角度、位置等,一...

  • 轮廓特征之矩、面积、周长

    轮廓特征 查找轮廓的不同特征,例如矩、面积、周长等。 图像矩原始矩对于二维连续函数阶的矩被定义为图像矩对于=0,1...

  • Hu矩---OpenCV-Python开发指南(26)

    什么是Hu矩 Hu矩是归一化中心矩的线性组合。Hu矩在图像的旋转,缩放,平移等操作后,仍然保持矩的特征不变,所以经...

  • 图像轮廓之矩特征

    《OpenCV轻松入门:面向Python》读书笔记作者:李立宗出版社:电子工业出版社出版时间:2019-05 第1...

  • 矩特征---OpenCV-Python开发指南(25)

    什么是矩特征 通过前篇博文的学习,我们知道如何从图像中分解轮廓。而矩特征是比较两个轮廓最简单的方法,通过它们的轮廓...

  • Quadratic form

    二次形: 矩阵特征值: 对于阶方阵:为特征值,为特征向量另一种写法:的根,为矩阵的特征根(特征值)eg:定理1:矩...

  • MIT 线性代数 22 对角化和A的幂,差分方程的线性代数解法

    一.对角化和矩阵的幂次计算 假设矩阵有个线性无关的特征向量,这些特征向量按列组成特征向量矩阵则 (称为对角特征值矩...

  • 胡矩 Hu Moments, OpenCV Shape Desc

    图像的几何矩 - CSDN 这7个不变矩构成一组特征量,Hu.M.K在1962年证明了他们具有旋转,缩放和平移不变...

  • 深度学习准备知识

    1. 深度学习矩阵论基础 特征值分解 分解得到的Σ矩阵是一个对角阵,特征值变化方向,所对应的特征向量就是描述这个矩...

  • 特征值分解和奇异值分解

    1.特征值分解 特征值和特征向量的定义如下: 其中A是一个 n×n 的矩阵,x 是一个 n 维向量,则我们说λ是矩...

网友评论

      本文标题:矩特征

      本文链接:https://www.haomeiwen.com/subject/mtkirktx.html