全日可颂 2022-05-26 20:44
浏览 16
已结题

OpenCV输出亚像素角点失败

我先用FAST作角点检测然后用SIFT计算特征向量,FLANN进行匹配这样没问题但是输出角点坐标是整数。

当想用亚像素角点更精确时,页面显示代码没问题但是却运行不出来


Size winSize = Size(5, 5);

    Size zeroZone = Size(-1, -1);

    cv::TermCriteria criteria = cv::TermCriteria(

        cv::TermCriteria::MAX_ITER + cv::TermCriteria::EPS,

        40,

        0.01);

    cornerSubPix(matchImg, matches, winSize, zeroZone, criteria);

    //输出角点信息

    cout << "角点信息为:" << matches.size() << endl;

    //绘制角点

    int index1, index2;

    for (int i = 0; i < matches.size(); i++)//将匹配的特征点坐标赋给point

    {

        index1 = matches.at(i).queryIdx;

        index2 = matches.at(i).trainIdx;

        cout << keypoints_1.at(index1).pt.x << " "

            << keypoints_1.at(index1).pt.y << " "

            << keypoints_2.at(index2).pt.x << " "

            << keypoints_2.at(index2).pt.y << endl;

    }

    

    waitKey(0);

    return(0);

}

img

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 6月3日
    • 创建了问题 5月26日