我尝试在3D点云中找到对象并将这些3D点云点投影到2D图像上。我有相机矩阵,用于检测对象坐标的2D点和用于点云中对象的3D点。使用这些矩阵,我找到了旋转矩阵(3x4),但是我不知道如何将旋转矩阵投影到图像上。任何帮助将不胜感激。
答案 0 :(得分:1)
您可以按以下方式使用函数cv2.projectPoints():
isAckAfterHandle()
cv2.projectPoints(objectPoints, rvec, tvec, cameraMatrix, distCoeffs[, imagePoints[, jacobian[, aspectRatio]]]) → imagePoints, jacobian
是3D对象坐标的3xN / Nx3展平向量
objectPoints
是旋转向量。您可以使用rvec
函数将Rotation矩阵转换为Rotation vecotr。
此功能的OpenCV文档为here。一旦获得了各个3D坐标的2D投影点,就可以将其与对象的原始2D坐标进行比较,方法可能是将其覆盖在两个不同的颜色通道中并对其进行可视化。希望这会有所帮助:)