当前,我正在使用OpenCV中的 triangulatePoints 函数将来自两个已校准摄像机的两个2D点三角化为3D点。
cv::triangulatePoints(calibration[camera1Index].getProjectionMatrix(), calibration[camera2Index].getProjectionMatrix(), points1, points2, points4D);
我的代码使用摄像机的投影矩阵和每个摄像机的未失真点来找到3D点。
问题在于,有时摄像机发送的点无法关联。
我的问题是,是否有任何方法可以找到应该将第一台摄像机的点投影到第二台摄像机中的区域,并丢弃第二台摄像机在该区域之外的所有点。
我一直在搜索,我想单应性是这里的解决方案,但是我找不到该算法的方法,或者在OpenCV中是否存在用于此算法的方法。
谢谢。