opencv findHomography方法"内部"工作? (返回值)

时间:2017-01-04 12:26:54

标签: python c++ opencv

我认为我的问题必须更多地了解opencv方法findHomolography的实现,而不是让它工作。

在解释之前,你应该知道我没有任何cpp编码经验,也许这可能就是原因。

我已经成功实现了该方法,但我想了解事情的来源。

我在http://www.pyimagesearch.com/2016/01/11/opencv-panorama-stitching/

的python中使用了这个示例代码
    # computing a homography requires at least 4 matches
    if len(matches) > 4:
        # construct the two sets of points
        ptsA = np.float32([kpsA[i] for (_, i) in matches])
        ptsB = np.float32([kpsB[i] for (i, _) in matches])

        # compute the homography between the two sets of points
        (H, status) = cv2.findHomography(ptsA, ptsB, cv2.RANSAC,
            reprojThresh)

        # return the matches along with the homograpy matrix
        # and status of each matched point
        return (matches, H, status)

    # otherwise, no homograpy could be computed
    return None

如您所见,您获得的是返回值(H,状态),Homolography矩阵(H)以及每个匹配点的状态。

现在问题是,状态来自哪里?

如果你看一下findHomography方法的cpp代码 你可以在401行看到https://github.com/opencv/opencv/blob/6991c24a27d521907b4c1a75cf92447579eafe90/modules/calib3d/src/fundam.cpp只有:

 return H;

有人可以解释为什么会这样吗?

提前致谢!

0 个答案:

没有答案