傅里叶-梅林变换实现图像配准
来源:互联网 发布:c语言神奇海螺 编辑:程序博客网 时间:2024/05/30 19:33
傅里叶-梅林变换 解决的问题是一张图片经过 旋转 缩放 平移,而且两张图片只需要有一部分相同部分,而且可以抵抗一定的噪声。
首先待配准的图片与原图片存在缩放量a,旋转量θ,平移量(x0,y0)
一.基础准备
1.相位相关技术
首先根据傅里叶变换的位移性质
存在一种叫位相相关技术的东西,可以来找平移量就是根据f(t)与f(t-t0)之间相差一个
2.对数极坐标变换
这个坐标变换和熟悉的极坐标变换类似,就是f(x,y)变成g(r,Θ),然后再对r取对数
根据这个变换,假如两个图片只存在旋转和缩放
这样旋转和缩放在对数极坐标下又变成平移关系了,然后用相位相关技术就能获得旋转和缩放量了
**
二.找出旋转缩放关系
因为对数极坐标变换只能解决只有旋转和缩放,而不包括平移的关系,所以我们在找出旋转缩放关系时先要剔除平移的因素,这时候使用的还是傅里叶变换的性质
1.找出旋转缩放关系
先用傅里叶变换剔除平移因子
我们发现两张图片进行傅里叶变换后,幅度谱里没有x0和y0了,只有缩放和平移因子了,这时候要做一个高通滤波,然后再做对数极坐标变换,相位相关技术就能找到缩放旋转因子。
(冲激函数当然找不到实际操作就是找这个最大值的位置,也不要问我为什么缩放倍率是1
然后对图片旋转和缩放相应的倍数就行了
2.找出平移量
这个当然就很简单了,把旋转直接相位相关技术技术解决,找到平移量拼上去看看。
恩 效果很好
**
**
三.其他
最近学了OpenCV,本来想拿opencv做一个,当时是一个作业急急忙忙的拿matlab参考别人代码做了一个,结果最近一直考试 忙的不行。以后有机会的话写个opencv代码发出来
最后发个自己做这个东西时候参考的matlab代码,参考我的数学讲解应该很好做出来了
http://download.csdn.net/detail/agrapier/9355801
(不是我写的
**
- 傅里叶-梅林变换实现图像配准
- 傅里叶-梅林变换实现图像配准
- 傅里叶梅林变换校正图像
- MATLAB实现图像配准
- matlab实现多种图像配准
- 图像配准实现(matlab篇)
- 图像配准实现(matlab篇)
- 使用SIFT实现图像配准
- 图像的配准及在VC++中实现
- 图像的配准及在VC++中实现
- 图像的配准及在VC++中实现
- 图像的配准及在VC++中实现
- 医学图像配准实现代码(matlab篇)
- 基于薄板样条插值图像配准的Matlab实现
- opencv实现最基本的图像配准
- opencv实现最基本的图像配准
- 图像的配准——MATLAB实现
- Matlab实现CT、MRI多模态图像配准
- 汇编语言: 用减奇数次数的方法,求一个数的近似平方根,这个平方根是一个整数。
- POJ 1934 Trip 笔记
- 机房收费系统之四(基本数据设定窗体和充值窗体)
- Vue初体验(八)属性和方法
- ZOJ--1005:Jugs(dfs)
- 傅里叶-梅林变换实现图像配准
- map和set
- JAVA Swing日期选择控件datepicker的使用
- Springboot MyBatis多数据源切换
- python strip()函数 介绍
- 移动端开发的简单适配方案
- jilu
- 汇编语言: 以下面形式定义一个长整数,其所占用字节数由 N 得到,试编写一个程序,实现对 N 字节的 NUM 的值求补,并把求补后的值仍保存在 NUM 中。
- JBPM(一)---JBPM简介及其开发环境搭建