-1

連続するフレーム間に正しい対応があり、それらの間の変換を推定して軌道を生成する必要があります。次の C++ パイプラインでは、生成された軌跡が意味をなしません。

auto EssentialMatrix = cv::findEssentialMat(points_previous,
                                            points_current, 
                                            camera_focal_length, 
                                            camera_principal_point,
                                            cv::RANSAC, 
                                            0.999, 
                                            1.0, 
                                            mask);

auto inliers = cv::recoverPose(EssentialMatrix, 
                points_previous, 
                points_current, 
                CameraMatrix, 
                R, 
                t, 
                mask);

t_pos_ = t_pos_ + 1.0 *(R_pos_*t);  
R_pos_ = R * R_pos_;             

だから、私の質問は: C++ OpenCV ユーティリティを使用して、2 つの連続するフレーム間の変換を正しく回復する方法は? そのために追加の手順が必要ですか?

4

1 に答える 1