我正在尝试使用Intel RealSense D435 3D摄像机将形成盒子的一组点对齐到opencv 9 * 6校准棋盘。我正在尝试修改Python SDK的示例之一,使其内部已经具有Kabsch算法转换功能。该示例是向对象添加边界框的示例。
我的问题是,每当我尝试使用此功能对齐我的点(使用棋board的现有角作为起点并加上框的长度,宽度和高度来计算)时,总是存在差异到应该的位置。
我用来转换点坐标的代码基本上是
point_b = transformation_devices[device].inverse().apply_transformation(np.asarray([[(x + width)],[y], [z]]))
#used to calculate the position of the point and directly transform it, the apply_transformation() function is the built-in transformation function of the example
b_x, b_y = rs.rs2_project_point_to_pixel(intrinsics, b)
#to return to 2D coordinates and display the box using opencv
您是否看到我在方法中遗漏的任何明显的错误?有没有更好的方法尝试将3D点对准棋盘?
编辑:我要实现的是将图像中的紫色框对准棋盘,有点像绿色棋盘