【问题标题】:OpenCV Stitcher class not working in Python, always returns ERR_NEED_MORE_IMGSOpenCV Stitcher 类在 Python 中不起作用,总是返回 ERR_NEED_MORE_IMGS
【发布时间】:2021-02-26 12:49:17
【问题描述】:

我正在尝试使用 OpenCV Stitcher 类将两个图像放在一起。我使用相同的考拉图像运行了question 答案中提供的简单示例,但它每次都返回(1, None)。我在 opencv-python 版本 3.4、4.2 和 4.4 上试过这个,结果都一样。

我尝试用其他东西(cv2.Stitcher.createcv2.Stitcher_createcv2.createStitcher)替换拼接器初始化程序,但似乎没有任何效果。如果有帮助,我在 Mac Catalina 上,使用 Python 3.7。谢谢!

【问题讨论】:

    标签: python opencv image-stitching opencv-stitching


    【解决方案1】:

    尝试使用setPanoConfidenceThresh() 更改默认全景置信度阈值。默认情况下它是 1.0,显然它会导致拼接器认为它失败了。

    这是对我有用的完整示例。我也使用了那对考拉图像,并且我在 opencv 4.2.0 上:

    stitcher = cv2.Stitcher.create(cv2.Stitcher_PANORAMA)
    stitcher.setPanoConfidenceThresh(0.0) # might be too aggressive for real examples
    foo = cv2.imread("/path/to/image1.jpg")
    bar = cv2.imread("/path/to/image2.jpg")
    status, result = stitcher.stitch((foo,bar))
    assert status == 0 # Verify returned status is 'success'
    cv2.imshow("result", result)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    

    我认为在这种特殊情况下cv2.Stitcher_SCANS 是一种更好的模式(图像之间的转换只是一种翻译),但SCANSPANORAMA 都可以。

    【讨论】:

    • 几乎成功了,通过使用Stitcher_SCANS 并将全景置信度阈值设置为 0.0 让它输出一些东西。但是,它总是输出一个或另一个图像,而不是任何重叠。还有什么我可以尝试的吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多