函数 cv::findChessboardCorners 角不能 std::vector<cv::Point2f>
function cv::findChessboardCorners corners cannot be std::vector<cv::Point2f>
我有一个问题,当我在Qt-MinGW平台运行 findChessboardCorners
时,我可以得到正确的board_feature_locations_xy结果,但是当我运行在 VS2015 平台上的相同代码,我得到了错误的结果,但是如果我将定义 std::vector<cv::Point2f> board_feature_locations_xy;
更改为
cv::Mat board_feature_locations_xy;
我可以得到正确的结果。
那么任何人都可以解决这个问题吗?
我用的是opencv-3.1.0.
std::vector<cv::Point2f> board_feature_locations_xy;
cv::Size board_feature_size(8, 6);
cv::findChessboardCorners(calibration_image_cv, board_feature_size, board_feature_locations_xy, CV_CALIB_CB_ADAPTIVE_THRESH | CV_CALIB_CB_FILTER_QUADS);
我遇到了类似的问题,当我在我的系统上本地构建 Opencv 而不是使用预构建的库时,它得到了修复。您可以参考此线程在您的系统上构建 Opencv
我还更改了相机校准代码以适用于 cv::Mat 点缓冲区类型而不是 vector.If 你正在做相机校准并且你遇到了这个问题然后唯一的改变是你使用 imagePoints1.push_back(board_feature_loactions_xy) 表示为棋盘检测到的角。
我有一个问题,当我在Qt-MinGW平台运行 findChessboardCorners
时,我可以得到正确的board_feature_locations_xy结果,但是当我运行在 VS2015 平台上的相同代码,我得到了错误的结果,但是如果我将定义 std::vector<cv::Point2f> board_feature_locations_xy;
更改为
cv::Mat board_feature_locations_xy;
我可以得到正确的结果。
那么任何人都可以解决这个问题吗?
我用的是opencv-3.1.0.
std::vector<cv::Point2f> board_feature_locations_xy;
cv::Size board_feature_size(8, 6);
cv::findChessboardCorners(calibration_image_cv, board_feature_size, board_feature_locations_xy, CV_CALIB_CB_ADAPTIVE_THRESH | CV_CALIB_CB_FILTER_QUADS);
我遇到了类似的问题,当我在我的系统上本地构建 Opencv 而不是使用预构建的库时,它得到了修复。您可以参考此线程在您的系统上构建 Opencv
我还更改了相机校准代码以适用于 cv::Mat 点缓冲区类型而不是 vector.If 你正在做相机校准并且你遇到了这个问题然后唯一的改变是你使用 imagePoints1.push_back(board_feature_loactions_xy) 表示为棋盘检测到的角。