OpenCV C++ findHomography掩码值的含义

jsa*_*dor 7 c++ opencv computer-vision homography ransac

我正在使用findHomographyOpenCV 的功能和RANSAC方法,以找到与一组关键点链接的两个图像相关的单应性.主要问题是我无法找到函数输出的掩码矩阵的值.只有我知道的信息是0值是异常值,非零值是内点.但这意味着内部值是多少?有谁知道?

提前致谢!

我打电话给的一段代码findHomography:

cv::Mat H12;
cv::Mat mask;

H12 = cv::findHomography(FvPointsIm1, FvPointsIm2, mask, CV_RANSAC, 5); 
ui->Debug_Label->setText(Mat2QString(mask));
Run Code Online (Sandbox Code Playgroud)

Aur*_*ius 11

返回的掩码findHomography是一个8位,单通道cv::Mat(或者std::vector<uchar>,如果您愿意),包含01指示异常值状态.

编辑:您通过调用访问掩码的每个元素.at<double>,这导致混淆输出.您应该使用.at<uchar>,它将正确解释矩阵值.

  • @ user1368342我已经复制了你的问题.将结果转换为`int`以查看数值,如下所示:`cout <<(int)mask.at <uchar>(0,0)<< endl;` (3认同)