| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 基于FFT的图像配准 -> 正文阅读 |
|
[人工智能]基于FFT的图像配准 |
基于FFT的图像配准 平移、缩放、旋转1.仅考虑平移 translation定义:
设二者存在 ( x 0 , y 0 ) (x_0,y_0) (x0?,y0?)偏移,即: f s ( x , y ) = f r ( x ? x 0 , y ? y 0 ) f_s(x,y)=f_r(x-x_0,y-y_0) fs?(x,y)=fr?(x?x0?,y?y0?) 等式两边进行傅里叶变换,有: F s ( u , v ) = e ? j 2 π ( u . x 0 + v . y 0 ) F r ( u , v ) \qquad\qquad \qquad F_s(u,v)=e^{-j2\pi(u.x_0+v.y_0)} F_r(u,v) Fs?(u,v)=e?j2π(u.x0?+v.y0?)Fr?(u,v) F s 与 F r F_s与F_r Fs?与Fr?的互功率谱定义为: R = F s ( u , v ) F r ? ( u , v ) ∣ F s ( u , v ) F r ( u , v ) ∣ = ? j 2 π ( u . x 0 + v . y 0 ) \qquad\qquad \qquad R= \cfrac {F_s(u,v)F_r^*(u,v)}{|F_s(u,v)F_r(u,v)|}={-j2\pi(u.x_0+v.y_0)} R=∣Fs?(u,v)Fr?(u,v)∣Fs?(u,v)Fr??(u,v)?=?j2π(u.x0?+v.y0?) 对R进行傅里叶逆变换,有: F ? 1 ( R ) = δ ( x ? x 0 , y ? y 0 ) \qquad\qquad \qquad F^{-1}(R)=\delta(x-x_0,y-y_0) F?1(R)=δ(x?x0?,y?y0?) 因此在逆变换谱上搜索最大值点即为平移距离 ( x 0 , y 0 ) (x_0,y_0) (x0?,y0?)。 2.同时考虑平移、缩放及旋转2.1 整个配准过程整个配准过程还是有点复杂的,见下图: 设 f r f_r fr?由 f s f_s fs?通过放缩k倍,旋转 θ 0 \theta_0 θ0?角度,平移 ( x 0 , y 0 ) (x_0,y_0) (x0?,y0?)得到,则有: f s ( x , y ) = f r [ k ( x cos ? θ 0 ? y sin ? θ 0 ) ? x 0 , k ( x sin ? θ 0 + y cos ? θ 0 ) ? y 0 ] \qquad\qquad f_s(x,y)=f_r[k(x\cos\theta_0-y\sin\theta_0)-x_0,k(x\sin\theta_0+y\cos\theta_0)-y_0] fs?(x,y)=fr?[k(xcosθ0??ysinθ0?)?x0?,k(xsinθ0?+ycosθ0?)?y0?] 两边进行傅里叶变换: F s ( u , v ) = 1 k 2 e ? j 2 π ( u . x 0 / k + v . y 0 / k ) F r ( u cos ? θ 0 ? v sin ? θ 0 k , u sin ? θ 0 + v cos ? θ 0 ) k ) \qquad\qquad F_s(u,v)=\cfrac{1}{k^2}e^{-j2\pi(u.x_0/k+v.y_0/k)} F_r(\cfrac{u\cos\theta_0-v\sin\theta_0}{k},\cfrac{u\sin\theta_0+v\cos\theta_0)}{k}) Fs?(u,v)=k21?e?j2π(u.x0?/k+v.y0?/k)Fr?(kucosθ0??vsinθ0??,kusinθ0?+vcosθ0?)?) 其幅度谱有: G s ( u , v ) = 1 k 2 e ? j 2 π ( u . x 0 / k + v . y 0 / k ) G r ( u cos ? θ 0 ? v sin ? θ 0 k , u sin ? θ 0 + v cos ? θ 0 ) k ) \qquad\qquad G_s(u,v)=\cfrac{1}{k^2}e^{-j2\pi(u.x_0/k+v.y_0/k)} G_r(\cfrac{u\cos\theta_0-v\sin\theta_0}{k},\cfrac{u\sin\theta_0+v\cos\theta_0)}{k}) Gs?(u,v)=k21?e?j2π(u.x0?/k+v.y0?/k)Gr?(kucosθ0??vsinθ0??,kusinθ0?+vcosθ0?)?) 将图谱从笛卡尔坐标系下转换到极坐标系下(
ρ
=
(
u
2
+
v
2
)
1
2
,
θ
=
t
a
n
?
1
v
u
\rho=(u^2+v^2)^{\frac{1}{2}},\theta=tan^{-1}\cfrac{v}{u}
ρ=(u2+v2)21?,θ=tan?1uv?): 令 r = log ? ( ρ ) , ? = θ r=\log(\rho),\phi=\theta r=log(ρ),?=θ,对极坐标系下的图谱再次进行傅里叶变换: Q s ( r , ? ) = Q r ( r ? log ? k , ? + θ 0 ) \qquad\qquad Q_s(r,\phi)=Q_r(r-\log k,\phi+\theta_0) Qs?(r,?)=Qr?(r?logk,?+θ0?) 这样, Q s 与 Q r Q_s与Q_r Qs?与Qr?参考1种进行互功率谱、傅里叶逆变换,得到极大值,就获得了缩放与旋转值。 对带配准图像进行相应缩放及旋转,然后就可以通过1,计算平移的偏差了。 2.2 高通滤波 Highpass filteringH ( u , v ) = ( 1 ? X ( u , v ) ) ( 2 ? X ( u , v ) ) \qquad\qquad \qquad H(u,v)=(1-X(u,v))(2-X(u,v)) H(u,v)=(1?X(u,v))(2?X(u,v)) 参考文献[1]A Review on Image Registration |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 18:41:34- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |