[英]How to use OpenCV Stitcher class with Python?
我正在尝试将 OpenCV Stitcher 类与 Python 一起使用,但没有成功。 我的代码是:
import cv2
stitcher = cv2.createStitcher(False)
foo = cv2.imread("foo.png")
bar = cv2.imread("bar.png")
result = stitcher.stitch((foo,bar))
我得到一个元组 (1, None)。
按照 C++ 示例,我尝试将一个 numpy 数组作为第二个参数传递给 stitch(),但没有成功。
你使用它是正确的,因为某种原因该过程失败了。
结果元组的第一个值是错误代码,0 表示成功。 这里你得到 1,这意味着,根据stitching.hpp
,该过程需要更多图像。
enum Status
{
OK = 0,
ERR_NEED_MORE_IMGS = 1,
ERR_HOMOGRAPHY_EST_FAIL = 2,
ERR_CAMERA_PARAMS_ADJUST_FAIL = 3
};
ERR_NEED_MORE_IMGS
通常表示您的图像中没有足够的关键点。
如果您需要有关错误发生原因的更多详细信息,您可以切换到 C++ 并详细调试该过程。
编辑:提供工作示例
与 OP 相同的代码,只是添加了结果保存和绝对路径。
import cv2
stitcher = cv2.createStitcher(False)
foo = cv2.imread("D:/foo.png")
bar = cv2.imread("D:/bar.png")
result = stitcher.stitch((foo,bar))
cv2.imwrite("D:/result.jpg", result[1])
这些图片:(我希望你喜欢考拉)
foo.png
酒吧.png
结果.jpg
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.