作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试将 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
关于python - 如何在 Python 中使用 OpenCV Stitcher 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34362922/
我是一名优秀的程序员,十分优秀!