1、Zernike矩介绍

Zernike矩是基于 Zernike多项式的正交化函数,所利用的正交多项式集是 1个在单位圆内的完备正交集。Zernike矩是复数矩 ,一般把 Zernike矩的模作为特征来描述物体形状。1个目标对象的形状特征可以用 1组很小的 Zernike矩特征向量很好的表示,低阶矩特征向量描述的是 1幅图像目标的整体形状,高阶矩特征向量描述的是图像目标的细节。

2、Zernike多项式数学描述

Zernike有奇数和偶数之分

若为奇数,则  

若为偶数,则  

其中,

m、n为非负整数,且n>m;

φ 为方位角;

ρ 为半径 ,

Zernike收敛于[-1,1]之间:

Rm为径向多项式:

当n-m的值为奇数时,

当n-m的值为偶数时, Rmn =0 。

3、Zernike的特点

1)当计算 1幅图像的 Zernike矩时 ,以该图像的形心 (也称作重心 )为原点 ,把像素坐标映射到单位圆内。

2)Zernike 矩是一组正交矩,具有旋转不变性的特性,即旋转目标并不改变其模值。

3)低阶矩特征向量描述的是 1幅图像目标的整体形状,高阶矩特征向量描述的是图像目标的细节。

4)通过标准矩来归一化的图像,可以做到平移和尺度不变性。

4、Zernike矩的应用

由于Zernike矩是用来描述图像目标的几何形状信息,所以Zernike图像矩可应用于手势识别、形状识别、图像分类等几何形状明显的特征物。但是不能用来识别丰富的纹理信息的物体。

参考:

维基百科:https://en.wikipedia.org/wiki/Zernike_polynomials

百度百科:http://baike.baidu.com/link?url=_F6XtZkLrUH9lcIyD2MbH8aJhFetRHR29flNItQMciiqktaDRQldo1qjY3LDToKP41XhxJbYJ5D5PP9QKWmdQ_

http://baike.baidu.com/link?url=HVwJi9xDwpq0ABl1FR2wDVp0_R2SGfV8y9OabQGTZA6I85m2ouoiBEjtt9nzDDCccF0lrel5PLLLQtxDx6WTfK

matlab代码:http://www.mathworks.com/matlabcentral/fileexchange/38900-zernike-moments

C代码:http://blog.csdn.net/wrj19860202/article/details/6334275

C++与opencv写的demo:http://download.csdn.net/detail/lengyun_5850/9365199

Zernike不变矩的更多相关文章

  1. 形状特征提取-Hu不变矩(转载)

    [原文部分转载]:http://blog.csdn.net/wrj19860202/archive/2011/04/16/6327094.aspx 在连续情况下,图像函数为 ,那么图像的p+q阶几何矩 ...

  2. 【图像基础】图像不变性特征HU矩和Zernike矩

    参考 1. 图像不变性特征: 2. matlab实现: 3. HU矩和Zernike矩: 完

  3. Zernike矩之边缘检测(附源码)

    这一篇博文将讨论Zernike矩在边缘检测中的应用,关于Zernike矩的基本概念,可以参看<Zernike矩之图像重建(附源码> 源码下载 参考: [4] Ghosal S, Mehro ...

  4. Zernike矩之图像重建(附源码)

    源码下载 参考: [1] Teague M R. Image analysis via the general theory of moments[J]. JOSA, 1980, 70(8): 920 ...

  5. 几何不变矩--Hu矩

    [图像算法]图像特征: ---------------------------------------------------------------------------------------- ...

  6. 【图像算法OpenCV】几何不变矩--Hu矩

    原文地址  http://blog.csdn.NET/daijucug/article/details/7535370 [图像算法OpenCV]几何不变矩--Hu矩 一 原理 几何矩是由Hu(Visu ...

  7. 模式识别之不变矩---SIFT和SURF的比较

  8. 转载:使用 OpenCV 识别 QRCode

    原文链接:http://coolshell.cn/articles/10590.html#jtss-tsina 识别二维码的项目数不胜数,每次都是开箱即用,方便得很. 这次想用 OpenCV 从零识别 ...

  9. A Survey of Shape Feature Extraction Techniques中文翻译

    Yang, Mingqiang, Kidiyo Kpalma, and Joseph Ronsin. "A survey of shape feature extraction techni ...

随机推荐

  1. MapReduce极简教程

    一个有趣的例子 你想数出一摞牌中有多少张黑桃.直观方式是一张一张检查并且数出有多少张是黑桃?   MapReduce方法则是: 给在座的所有玩家中分配这摞牌 让每个玩家数自己手中的牌有几张是黑桃,然后 ...

  2. 如何快速成长?我的java之路!

    由于一些外部的原因,我不得不从自己熟悉的php领域,转战到java战场.我个人觉得还是有些心得吧,不管怎么样,或多或少可能都会有那么些经历的人,和你一起走在这世上!尽管你不知道TA是谁. 其实,转换一 ...

  3. Dubbo与Zookeeper、SpringMVC整合和使用

    作为dubbo框架初学者,能让框架跑起来非常不容易,非常感谢网上诸多大神提供的文章,本人参考文章地址是:https://my.oschina.net/xshuai/blog/891281 不过别人的记 ...

  4. AngularJS -- 指令(创建自定义指令)

    点击查看AngularJS系列目录 转载请注明出处:http://www.cnblogs.com/leosx/   什么是指令 注:本指南是针对已经熟悉AngularJS基础知识的开发人员.如果你才刚 ...

  5. 自定义流程gooflow2.0+自定义表单

    一.功能简介 gooflow功能清单1.自定义流程绘制2.自定义属性添加3.支持3种步骤类型普通审批步骤自动决策步骤手动决策步骤 4.决策方式(支持js决策,sql语句决策) 5.审批人员参与方式,可 ...

  6. [Java语言] 《struts2和spring MVC》的区别_动力节点

    1.Struts2是类级别的拦截, 一个类对应一个request上下文,SpringMVC是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应,所以说从架构本身上Spr ...

  7. JSP入门2

    1. CRUD是Create(创建).Read(读取).Update(更新)和Delete(删除)的缩写,一般应用有这四项也就足够了. 我们这里的例子是对联系人信息进行CRUD操作. 2. javab ...

  8. Ubuntu 定时任务中的环境变量设置

    背景 1,定时任务命令 crontab -e 2,默认的环境变量 SHELL=/bin/sh PATH=/usr/bin:/bin PWD=/home/owl LANG=zh_CN.UTF- SHLV ...

  9. 不同Activity之间传递线程

    场景:Android由Activiy A创建Activiy B时 ,A创建的线程B中依然需要调用,这时候需要在两个activity之间传递线程的信息. 解决: 方式一:线程自己维护自己的静态句柄(比较 ...

  10. 网时|细数被鹿晗热点效应带火的心机boy们

    今天上班早高峰的地铁格外的宽敞,不知道是不是因为大家都被鹿晗关晓彤的甜蜜暴击到已经忘了上班这码事了.本以为是为了新戏<甜蜜暴击>做宣传,结果工作室都相继承认,他们倒是甜蜜了,暴击全给粉丝了 ...