原文转自:http://blog.csdn.net/wrj19860202/article/details/6327094

1. 矩的概念

图像识别的一个核心问题是图像的特征提取,简单描述即为用一组简单的数据(图像描述量)来描述整个图像,这组数据越简单越有代表性越好。良好的特征不受光线、噪点、几何形变的干扰。图像识别发展几十年,不断有新的特征提出,而图像不变矩就是其中一个。

矩是概率与统计中的一个概念,是随机变量的一种数字特征。设X为随机变量,c为常数,k为正整数。则量E[(xc)k]称为X关于c点的k阶矩。

比较重要的有两种情况:

1. c=0。这时ak=E(Xk)称为Xk阶原点矩

2. c=E(X)。这时μk=E[(XEX)k]称为X的k阶中心矩。

一阶原点矩就是期望。一阶中心矩μ1=0,二阶中心矩μ2就是XX的方差Var(X)。在统计学上,高于4阶的矩极少使用。μ3可以去衡量分布是否有偏。μ4可以去衡量分布(密度)在均值附近的陡峭程度如何。

针对于一幅图像,我们把像素的坐标看成是一个二维随机变量(X,Y)(X,Y),那么一幅灰度图像可以用二维灰度密度函数来表示,因此可以用矩来描述灰度图像的特征。

不变矩(Invariant Moments)是一处高度浓缩的图像特征,具有平移、灰度、尺度、旋转不变性。M.K.Hu在1961年首先提出了不变矩的概念。1979年M.R.Teague根据正交多项式理论提出了Zernike矩。

在连续情况下,图像函数为 ,那么图像的p+q阶几何矩(标准矩)定义为:

p+q阶中心距定义为:

其中 代表图像的重心,

对于离散的数字图像,采用求和号代替积分:

若将m00看作是图像的灰度质量,则(i¯,j¯)为图像的质心坐标,那么中心矩μpa反映的是图像灰度相对于其灰度质心的分布情况。

分别是图像的高度和宽度;

归一化的中心距定义为:

;其中

利用二阶和三阶归一化中心矩构造了7个不变矩

这7个不变矩构成一组特征量,Hu.M.K在1962年证明了他们具有旋转,缩放和平移不变性。

实际上,在对图片中物体的识别过程中,只有 不变性保持的比较好,其他的几个不变矩带来的误差比较大,有学者认为只有基于二阶矩的不变矩对二维物体的描述才是真正的具有旋转、缩放和平移不变性( 刚好都是由二阶矩组成的)。不过我没有证明是否是真的事这样的。

由Hu矩组成的特征量对图片进行识别,优点就是速度很快,缺点是识别率比较低,我做过手势识别,对于已经分割好的手势轮廓图,识别率也就30%左右,对于纹理比较丰富的图片,识别率更是不堪入眼,只有10%左右。这一部分原因是由于Hu不变矩只用到低阶矩(最多也就用到三阶矩),对于图像的细节未能很好的描述出来,导致对图像的描述不够完整。

Hu不变矩一般用来识别图像中大的物体,对于物体的形状描述得比较好,图像的纹理特征不能太复杂,像识别水果的形状,或者对于车牌中的简单字符的识别效果会相对好一些。

图像形状特征(二)--Hu距相关推荐

  1. 2.2 获取图像感兴趣区域_基于Hu距的图像旋转矫正之OpenCV实现

    目录 1.常见图像旋转矫正方法 1.1 基于图像边缘轮廓的旋转矫正 1.2 基于傅里叶变换以及霍夫直线检测的旋转矫正 2.基于Hu距图像旋转矫正 2.1 Hu旋转不变性 2.2 实现步骤 2.2.1 ...

  2. 90度旋转 flip opencv_基于Hu距的图像旋转矫正之OpenCV实现

    目录 1.常见图像旋转矫正方法 1.1 基于图像边缘轮廓的旋转矫正 1.2 基于傅里叶变换以及霍夫直线检测的旋转矫正 2.基于Hu距图像旋转矫正 2.1 Hu旋转不变性 2.2 实现步骤 2.2.1 ...

  3. 图像矩(Hu矩)简介

    (1)零阶矩 根据矩的定义,二维图像的灰度用f(x,y)表示,零阶矩m00表示为: 表示的是图像灰度的总和. (2)一阶矩 图像的一阶矩m10和m01表示用来确定图像的灰度中心, 根据中心矩的定义很容 ...

  4. 十三种基于直方图的图像全局二值化算法原理、实现、代码及效果(转)

    源:十三种基于直方图的图像全局二值化算法原理.实现.代码及效果.

  5. 对图像进行二维离散Fourier变换

    用函数fft2对图像进行二维离散Fourier变换.用图像的形式分别显示清晰的频谱幅度和相位.对图像用窗函数加权,观察其Fourier变换,解释加窗前后的变化.对图像作Fourier变换和反变换.将图 ...

  6. 【图像处理】——图像的二值化操作及阈值化操作(固定阈值法(全局阈值法——大津法OTSU和三角法TRIANGLE)和自适应阈值法(局部阈值法——均值和高斯法))

    目录 一.二值化的概念(实际上就是一个阈值化操作) 1.概念: 2.实现方法 3.常用方法 二.阈值类型 1.常见阈值类型(主要有五种类型) (1)公式描述 (2)图表描述 2.两种特殊的阈值算法(O ...

  7. avframe转byte数组_C# amp; VB6.0 图像与二维数组 互转

    背景 最近在研究C#进行图像处理,在图像处理中算法中,往往都是针对的是矩阵运算的.矩阵其实就是一个二维的数组. 为了图像处理的速度,我们都需要放在内存中处理.但网络上收集的代码,往往都是以一维数组的样 ...

  8. HTML5系列代码:使用自定义图像来作为空距

    white-space 属性设置如何处理元素内的空白. 这个属性声明建立布局过程中如何处理元素中的空白符.值 pre-wrap 和 pre-line 是 CSS 2.1 中新增的. <html& ...

  9. 海康威视IPCamera图像捕获 二种方法

    所使用海康威视摄像头型号:DS-2CD4026FWD-(A)(P) 海康威视IPCamera图像捕获方法有两种: (1)利用SDK里面的NET_DVR_CaptureJPEGPicture_NEW进行 ...

  10. 计算机视觉快速入门一 —— 图像基本操作(二)

    计算机视觉快速入门一 -- 图像基本操作(二) 1.灰度图 img_gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) import cv2 #opencv读取的格 ...

最新文章

  1. 自然语言处理数据集免费资源开放(附学习资料)
  2. 营业收入快速增长 Twilio 云通信成就大牛股
  3. 并发编程-26 高并发处理手段之服务降级与服务熔断 + 数据库切库分库分表
  4. backbone.js入门
  5. unity三维地图的经纬度如何在二维地图上表示_接入C++版本recastnavigation寻路库到Unity/服务端中...
  6. 深入解析ES6中let和闭包
  7. Single-Shot Calibration:基于全景基础设施的多相机和多激光雷达之间的外参标定(ICRA2021)...
  8. Android 推荐一个Android系统全系列源码在线阅读网站,Android学习资料,Android各个API使用的网站
  9. webtrends之ODBC源数据获取(一)——环境准备篇
  10. 自动薅羊毛技术方案总结
  11. 信仰是如何毁掉程序员的
  12. 入职第一天,我接手了号称【屎山】的祖传代码,这还能卷吗???
  13. QQ的群消息关键字屏蔽
  14. 最近很火的微信炸屎功能该怎么用?
  15. 系统架构师论文-论软件架构的选择与应用
  16. 0行代码拿210万年薪,ChatGPT催生新型「程序员」岗:工作纯靠和AI聊天
  17. 如何使用Facebook进行选品使用
  18. TypeError: cannot astype a timedelta from [timedelta64[ns]] to [int32]
  19. 传智播客.Net视频
  20. 660万明文密码泄露,知名广告公司Clixsence被黑客端了个底朝天

热门文章

  1. Clang与LLVM的关系
  2. Linux头文件引用小技巧
  3. Mac下docker安装kali/ubuntu14.04
  4. Mac 10.12启动QXDM crash解决
  5. Android之GPU过度绘制与图形渲染优化
  6. RTSP之主流安防厂家地址
  7. mysql5.6 安装配置 老系统_mysql 5.6 从陌生到熟练之-安装配置(windows系统)
  8. idea代码补全_IDEA中有哪些让你相见恨晚的技巧?
  9. windows源码安装apache2 win安装apache 阿帕奇服务器
  10. java代码进行短信接收_自动化测试-自动获取手机短信验证码