本文最后更新于:2024年5月7日 下午
Log 极坐标变换是一种坐标转换的方法,本文记录将其用于匹配圆环的尺度与相位的思想。
简介
对于二维图形,Log-polar 转换表示从笛卡尔坐标到极坐标的变化,广泛应用在计算机视觉中。此函数模仿人类视网膜中央凹视力,并且对于目标跟踪等可用于快速尺度和旋转变换不变模板匹配。
问题描述
- 考虑已知圆形方程的圆环形态的图像$A,B$,图像之间存在关于圆心的放缩、旋转关系,如何确定二者的放缩系数 $\alpha$和旋转角度$\beta$?
解决方案
- 求解缩放系数和旋转角度,二维空间可以搜索,这种情况下是否可以转换为关于 $x,y$ 平移的模板匹配问题呢,如果可以的话则可以之间使用 OpenCV 的模板匹配函数快速匹配。
- 处理圆环一般会进行极坐标变换。
- 圆环$A$,B关于圆心进行常规极坐标变换:
- 根据极坐标变换有:
- 考虑尺度变换:
- 考虑角度变换:
$$
\theta_b = \theta_a+\beta
$$
-
此时相位转换成了关于$\theta$ 的平移问题,而缩放还是相乘的关系,无法套用模板匹配
-
但如果我们使用对数极坐标变换,此时角度不变:
-
对于圆环 $A$ 有:
$$ \rho_a^`=log(\sqrt{x_a^2+y_a^2}) $$ -
对于圆环 $B$ 有:
$$ \rho_b^`=log(\alpha\sqrt{x_a^2+y_a^2})\\ =log(\alpha)+log(\sqrt{x_a^2+y_a^2}) $$
-
-
角度关系没有发生变化:
$$
\theta_b = \theta_a+\beta
$$
- 可以看到 $\rho$ 和 $\beta$ 都转换为了需要平移搜索的变量,可以套用 OpenCV 的模板匹配
对数极坐标转换示例代码
1 |
|
- 设计四张经过缩放和旋转的圆环图像:
- 正常极坐标变换后圆环宽度不同,无法平移匹配:
- 对数极坐标变换后图像之间仅差平移的差距:
参考文档
- https://blog.csdn.net/zhangquan2015/article/details/76640659
- https://blog.csdn.net/carson2005/article/details/7185552
文章链接:
https://www.zywvvd.com/notes/study/image-processing/scale-map/scale-map/
“觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”
微信支付
支付宝支付
对数极坐标变换用于相位、尺度搜索
https://www.zywvvd.com/notes/study/image-processing/scale-map/scale-map/