我在相机中检测到同一平面上有4个点(一个扁平的方形物体),我正在尝试计算相对于相机的这个方块的姿势。
我使用的是最新版本的EmguCV(http://www.emgu.com/wiki/index.php/Main_Page),它是OpenCV的C#包装器。
我见过POSIT(http://opencv.willowgarage.com/wiki/Posit),但这不适用于共面点。我想知道是否有任何东西可以解决OpenCV中的共面姿态估计。
我也见过solvePnp http://opencv.willowgarage.com/documentation/cpp/camera_calibration_and_3d_reconstruction.html#cv-solvepnp 我相信它会做我想要的,但我似乎无法在EmguCV中找到这个功能。
有谁知道如何使用EmguCV解决这个问题?
答案 0 :(得分:0)
虽然在emgu中没有SolvePnP,但是一旦你在一架飞机上拥有至少4个点对应关系(你有),你仍然可以计算单应性。如果您不确定,请参阅CameraCalibration.FindHomography的文档。一旦你有单应性,你可以将其分解为旋转和平移,从而相机姿势。看看this article。
答案 1 :(得分:0)
升级并安装最新的NuGet软件包。
使用每个视图的已知内部参数和外部参数估计外部相机参数。必须指定3D对象点的坐标及其对应的2D投影。此功能还可以最大限度地减少反投影误差。