我一直在努力争取通过OpenCV创建一个仿射矩阵来显示Three.js中的匹配结果。我试图对齐两个图像。 Three.js中的第一个图像位于(0,0,-100)。第二个图像将在相同的深度,但将在X,Y轴上平移并围绕Z旋转。我可以使用OpenCV的warpPerspective函数将仿射矩阵应用于第二个图像并获得良好的结果,因此我的数据很好。翻译中丢失了一些东西。
OpenCV矩阵如下所示:
array([[ 1.02056477e+00, 9.69874197e-03, -6.03476069e+00],
[ -9.69874197e-03, 1.02056477e+00, -1.29515128e+02],
[ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00]])
要将其转换为Three.js中的4x4矩阵,我目前正在使用以下操作,其中'a'是上面列出的3x3 OpenCV矩阵。
var m = new THREE.Matrix4(a[0],a[1],0,a[2],
a[3],a[4],0,a[5],
0,0,1,0,
0,0,0,1);