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

2、Zernike多项式数学描述
Zernike有奇数和偶数之分
若为奇数,则 
若为偶数,则 
其中,
m、n为非负整数,且n>m;
φ 为方位角;
ρ 为半径 ,
;
Zernike收敛于[-1,1]之间:
;
Rmn 为径向多项式:
当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
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不变矩的更多相关文章
- 形状特征提取-Hu不变矩(转载)
[原文部分转载]:http://blog.csdn.net/wrj19860202/archive/2011/04/16/6327094.aspx 在连续情况下,图像函数为 ,那么图像的p+q阶几何矩 ...
- 【图像基础】图像不变性特征HU矩和Zernike矩
参考 1. 图像不变性特征: 2. matlab实现: 3. HU矩和Zernike矩: 完
- Zernike矩之边缘检测(附源码)
这一篇博文将讨论Zernike矩在边缘检测中的应用,关于Zernike矩的基本概念,可以参看<Zernike矩之图像重建(附源码> 源码下载 参考: [4] Ghosal S, Mehro ...
- Zernike矩之图像重建(附源码)
源码下载 参考: [1] Teague M R. Image analysis via the general theory of moments[J]. JOSA, 1980, 70(8): 920 ...
- 几何不变矩--Hu矩
[图像算法]图像特征: ---------------------------------------------------------------------------------------- ...
- 【图像算法OpenCV】几何不变矩--Hu矩
原文地址 http://blog.csdn.NET/daijucug/article/details/7535370 [图像算法OpenCV]几何不变矩--Hu矩 一 原理 几何矩是由Hu(Visu ...
- 模式识别之不变矩---SIFT和SURF的比较
- 转载:使用 OpenCV 识别 QRCode
原文链接:http://coolshell.cn/articles/10590.html#jtss-tsina 识别二维码的项目数不胜数,每次都是开箱即用,方便得很. 这次想用 OpenCV 从零识别 ...
- A Survey of Shape Feature Extraction Techniques中文翻译
Yang, Mingqiang, Kidiyo Kpalma, and Joseph Ronsin. "A survey of shape feature extraction techni ...
随机推荐
- python os语法
前几天做了一个文件替换功能用到些python os的功能,感觉python os模块的功能非常的强大, 如果你希望你的python程序能够与平台无关的话,这个模块是尤为重要的.即它允许一个程序在编写后 ...
- JavaScript 框架------------AngularJS(上)
一.简单了解一下AngularJS AngularJS 是一个 JavaScript 框架.它可通过 <script> 标签添加到 HTML 页面. AngularJS 通过 指令 扩展了 ...
- HTML5可预览多图片ajax上传(使用formData传递数据)
HTML5可预览多图片ajax上传(使用formData传递数据) 在介绍上传图片之前,我们简单的来了解下FormData的基本使用:介绍完成后这些基本知识后,我们会在文章最后提供一个demo,就是a ...
- angularjs——路由篇
路由 路由功能是由 routeProvider服务 和 ng-view 搭配实现,ng-view相当于提供了页面模板的挂载点,当切换URL进行跳转时,不同的页面模板会放在ng-view所在的位置; 然 ...
- JAVA多线程---volatile关键字
加锁机制既可以确保可见性又可以保证原子性,而volatile变量只能确保可见性. 当把变量声明为volatile时候 编译器与运行时都会注意到这个变量是共享的,不会将该变量上的操作与其他内存操作一起重 ...
- E - 今年暑假不AC HDU - 2037
"今年暑假不AC?" "是的." "那你干什么呢?" "看世界杯呀,笨蛋!" "@#$%^&* ...
- poj2528 线段树+离散化 (倒序)
The citizens of Bytetown, AB, could not stand that the candidates in the mayoral election campaign h ...
- Judge Route Circle
Initially, there is a Robot at position (0, 0). Given a sequence of its moves, judge if this robot m ...
- 20.Linux-USB鼠标驱动
在上一章分析完USB总线驱动程序后, 接下来开始写一个USB驱动: 本节目的: 将USB鼠标的左键当作L按键,将USB鼠标的右键当作S按键,中键当作回车按键 参考/drivers/hid/usbhid ...
- C#分布式事务解决方案-TransactionScope
引用一下别人的导读:在实际开发工作中,执行一个事件,然后调用另一接口插入数据,如果处理逻辑出现异常,那么之前插入的数据将成为垃圾数据,我们所希望的是能够在整个这个方法定义为一个事务,Transacti ...