gpt4 book ai didi

python - 如何在 OpenCV Python Stitcher 类中设置全景模式?

转载 作者:太空宇宙 更新时间:2023-11-03 14:44:42 33 4
gpt4 key购买 nike

基于 this question/answer ,我一直在尝试在 python 中使用 OpenCV 的 Stitcher 类。我的代码与答案中的基本相同。

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])

问题是我想将模式从全景更改为扫描。 In the c++ documentation, create 方法有一个输入模式。然而,Python 中的 createStitcher 类只需要一个输入——是否尝试 gpu。有没有办法在 Python 中指定模式?

当我尝试 createStitcherScans 时,出现错误

stitcher = cv2.createStitcherScans(False)
"AttributeError: 'module' object has no attribute 'createStitcherScans'"

我确实找到了 this GitHub issue这似乎是相关的,关于 Python 绑定(bind)丢失了一些东西。但这超出了我的理解,我不确定如何编辑 opencv 代码以正确执行此操作。我尝试将其添加到 stitching.hpp 中:

typedef Stitcher::Mode Mode;

但是什么也没发生。 createStitcher(1, False) 仍然给我属性错误。任何帮助将不胜感激。

最佳答案

这已在 Open CV 4 中解决(至少在我运行的 4.1.0 中)。您现在可以将 mode 指定为 cv2.Stitcher.create 的关键字参数:

stitcher = cv2.Stitcher.create(mode = 1)

似乎还没有移植不同模式的枚举标签,但它适用于数字。 PANORAMA0SCANS1,定义为 here .

请注意,如果您正在使用 Google Colab,那么您可以像这样更改 Open CV 的版本:

!pip3 install opencv-python==4.1.0.25

关于python - 如何在 OpenCV Python Stitcher 类中设置全景模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50595573/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com