将 std::vector<Eigen::Vector3f> 转换为 cv::Mat

#include 
#include 

int main() {
    // 假设你有一个包含三维点的 std::vector
    std::vector mappointInCurrentFrame;

    // 假设你有一个包含二维坐标的 std::vector,这可能是通过光流法得到的关键点
    std::vector keypoints;

    // 将 std::vector 转换为 cv::Mat
    cv::Mat mappointInCurrentFrameMat(mappointInCurrentFrame.size(), 3, CV_32F);
    for (size_t i = 0; i < mappointInCurrentFrame.size(); ++i) {
        mappointInCurrentFrameMat.at(i, 0) = mappointInCurrentFrame[i](0);
        mappointInCurrentFrameMat.at(i, 1) = mappointInCurrentFrame[i](1);
        mappointInCurrentFrameMat.at(i, 2) = mappointInCurrentFrame[i](2);
    }


    return 0;
}

你可能感兴趣的:(计算机视觉,c++,人工智能,ubuntu,opencv)