首页 > 解决方案 > 将关键点的仿射格式(关键点的形状:[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]]

返回值是否正确?

标签: pythonopencvsiftaffinetransformkeypoint

解决方案


推荐阅读