我认为我的问题必须更多地了解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;
有人可以解释为什么会这样吗?
提前致谢!