【问题标题】:get point position after fisheye::initUndistortRectifyMap在fisheye::initUndistortRectifyMap之后获取点位置
【发布时间】:2020-06-23 16:17:25
【问题描述】:

我从鱼眼相机拍摄了一张照片,我需要进行相机校准。

现在我知道了照片中的点like A,在fisheye::initUndistortRectifyMap(cameraMatrix, distCoeffs, Mat(),dst_cameraMatrix,imageSize*2, CV_32FC1, map_x, map_y 函数之后,我得到了map_x,map_y。我使用remap 来获得校准结果。

现在想知道标定后的点位置A,我在Opencv上查看文档,搜索了一些相关问题,但几乎都是基于与原始图像尺寸相同的尺寸,但是知道我将图像大小增加了*2

这样,怎样才能得到标定后的点位置A

下面是我的代码:

    Mat distortRectify;
    Mat cameraMatrix = Mat::eye(3, 3, CV_64F);
    Mat dst_cameraMatrix = Mat::eye(3, 3, CV_64F);
    Mat distCoeffs = Mat::zeros(4, 1, CV_64F);
    Size imageSize(1920*2,1080*2);
    Mat map_x, map_y;
    getCameraParams(cameraMatrix,dst_cameraMatrix,distCoeffs, "ft");
    fisheye::initUndistortRectifyMap(cameraMatrix, distCoeffs, Mat(),
                                         dst_cameraMatrix,imageSize, CV_32FC1, map_x, map_y);

    remap(Image, distortRectify, map_x, map_y, INTER_LINEAR);

    vector<vector<Point2f>> Rectify_contours;
    for(size_t i=0;i<contours.size();i++)
    {
        vector<Point2f> temp_vec;
        for(auto recitify_point : contours[i])
        {
            Point2f temp_point;
            float x,y;
            x = recitify_point.x;
            y = recitify_point.y;
            temp_point.x = map_x.at<float>(y,x);
            temp_point.y = map_y.at<float>(y,x);

            temp_vec.push_back(temp_point);
        }
        Rectify_contours.push_back(temp_vec);
    }
    for(size_t i =0; i<Rectify_contours.size();i++)
    {
        for(auto point: Rectify_contours[i])
        {
            circle( distortRectify, point, 3,  Scalar(0), 2, 8, 0 );
        }
    }

    imshow("distortRectify",distortRectify);
    waitKey();

我未能使用上述代码获得正确的点位置,并且我已经关注这个问题将近一天了。任何人都可以帮助我吗?任何回应将不胜感激!!!

【问题讨论】:

    标签: c++ opencv remap fisheye


    【解决方案1】:

    也许你可以使用 cv::fisheye::undistortPoints

    【讨论】:

      猜你喜欢
      • 2015-04-02
      • 2016-01-03
      • 1970-01-01
      • 2018-11-01
      • 1970-01-01
      • 2015-03-26
      • 1970-01-01
      • 2014-12-07
      • 1970-01-01
      相关资源
      最近更新 更多