我在3d环境中有多个摄像头,摄像头的位置和方向是已知的或已定义的。如何仅使用OpenCV库可视化它们的坐标系(单位矢量-x,-y,-z)?有没有可用的东西?
答案 0 :(得分:0)
您可以使用OpenCV viz。
要使用viz,您需要在PC上安装VTK。安装VTK,然后在启用VTK的情况下构建OpenCV。
您可以使用viz小部件显示来自多个摄像头的点云。
//This will be your reference camera
viz::Viz3d myWindow("Coordinate Frame");
myWindow.showWidget("Coordinate Widget", viz::WCoordinateSystem());
点云可以存储在矢量中或以具有3个通道(或4个通道)的垫子的形式存储。您可以显示多个点云
//Store your point clouds here
vector<cv::Point3d> pts3d1, pts3d2;
viz::WCloud cloud_widget1(pts3d1, viz::Color::green());
viz::WCloud cloud_widget2(pts3d2, viz::Color::red());
myWindow.showWidget("cloud 1", cloud_widget1);
myWindow.showWidget("cloud 2", cloud_widget2);
myWindow.spin();