拼接函数的说明
stitch自动拼接函数
OpenCV不同版本对应不同的使用方法:cv2.createStitcher(OpenCV 3.x)和cv2.Stitcher_create(OpenCV 4)函数。
必须要使用正确,否则报错。
# opencv 3.x
stitcher = cv2.createStitcher(cv2.Stitcher_PANORAMA) #cv.Stitcher_SCANS
status, stitched = stitcher.stitch(images)
# stitcher = cv2.createStitcher() if imutils.is_cv3() else cv2.Stitcher_create()
# stitcher = cv2.Stitcher_create(cv2.Stitcher_SCANS) #cv.Stitcher_SCANS
status变量指示图像拼接是否成功,并且可以是以下四个变量之一:
- OK = 0:图像拼接成功.
- ERR_NEED_MORE_IMGS = 1:如果您收到此状态代码,则需要更多输入图像来构建全景图。通常,如果输入图像中检测不到足够的关键点,则会发生此错误。
- ERR_HOMOGRAPHY_EST_FAIL = 2:当RANSAC单应性估计失败时,会发生此错误。同样,您可能需要更多图像,或者您的图像没有足够的区别,独特的纹理/对象,以便准确匹配关键点
- ERR_CAMERA_PARAMS_ADJUST_FAIL =3:我之前从未遇到过这个错误,所以我对它没有多少了解,但要点是它与未能从输入图像中正确估计相机内参/外参有关。如果遇到此错误,您可能需要参考OpenCV文档,甚至可以深入了解OpenCV C ++代码。
使用OpenCV和Python拼接图像
这个链接的解释非常详细,可以作为参考。