python - 将关键点的仿射格式(关键点的形状:[N, 6])转换为传统的 SIFT 格式(关键点的形状:[N, 4])
问题描述
我有一个关于转换仿射格式的问题(关键点的形状:[N,6],轴 6 分别是 x、y、A11、A12、A21、A22)。
至
传统的 SIFT 格式(关键点的形状:[N, 4] 和 4 分别是 x、y、比例、角度)。
任何帮助,将不胜感激。
更新: 我发现的半代码:
def derive_scale_ori(aff_mat):
scale = np.sqrt(np.linalg.det(aff_mat))
rot_mat = aff_mat/scale
ori = np.arctan2(rot_mat[1, 1], rot_mat[0, 0])
return scale, or
其中 aff_mat 是:[[A11, A12], [A21, A22]]
返回值是否正确?
解决方案
推荐阅读
- c# - C# 字典扩展方法语法
- typescript - 强制一个字段的类型仅包含其他字段数组中的键
- android - 在 Kotlin 的 Firestore 中获取地图的一个值
- python - ModuleNotFoundError:heroku 中没有名为“bs4”的模块
- c# - 右键对话框结果
- python - 没有名为“tensorflow.python.tools”的模块;“tensorflow.python”不是一个包
- amazon-web-services - AWS IoT Core 使用单个 API 删除多个事物
- python - Python 到 Arduino UDP 通信
- css - 如何使用 css 提高背景图像和文本之间的对比度?
- r - 在 R 中生成以下矩阵的最短代码是什么?