我将 OpenCV 的函数 findHomography
与 RANSAC 方法结合使用,以便找到将两个图像与一组关键点相关联的单应性。
主要问题是我在任何地方都找不到函数输出的掩码矩阵的值是多少。
我知道的唯一信息是 0 值是离群值,非零值是离群值。但这意味着什么是异常值?有人知道吗?
我调用 findHomography
的一段代码:
cv::Mat H12;
cv::Mat mask;
H12 = cv::findHomography(FvPointsIm1, FvPointsIm2, mask, CV_RANSAC, 5);
ui->Debug_Label->setText(Mat2QString(mask));
最佳答案
findHomography
返回的掩码是一个 8 位单 channel cv::Mat
(或 std::vector<uchar>
,如果您愿意)包含 0
或 1
指示异常值状态。
编辑:您可以通过调用 .at<double>
来访问掩码的每个元素,这导致了困惑的输出。你应该使用 .at<uchar>
,这将正确解释矩阵值。
关于c++ - findHomography 返回的 mask 参数值代表什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15815304/