在python中拼接图像

时间:2014-02-17 09:36:52

标签: python opencv panoramas

我想使用python缝合多个(5或6)图像。我是python的新手,但我想使用它,因为它在服务器上运行并且是开源的。 OpenCV似乎非常有能力做到这一点并且是我的首选选项,但是函数主要是在C ++中,我找不到任何在python中做到的例子(尽管它应该有能力)。我找到了这个链接:http://richardt.name/teaching/supervisions/vision-2011/practical/但我认为我无法进行练习。

我也发现了很多关于panotools和Hugin的事情。 Hugin应该能够使用HSI(Hugin Scripting Interface)进行拼接,但文档非常缺乏。我发现的例子可能有用,但是我不能让Hugin和HSI在python中工作,没有关于如何安装/导入库的解释。

有没有人可以帮我解决这个问题?我来自php编程,对Python,OpenCV和Hugin来说都是新手。

非常感谢

2 个答案:

答案 0 :(得分:0)

我认为这是您想要的代码

import cv2
import numpy as np

img1 = cv2.imread('Bird1.jpg')
img2 = cv2.imread('Bird2.jpg')

img3 = np.hstack((img1,img2))
cv2.imwrite('Bird3.jpg',img3)

注意:这两个输入图像的大小(高度,宽度)应该相同。
输入图片: -

enter image description here


输出图像: -
enter image description here

答案 1 :(得分:0)

如果你不必使用python,那么hugin就可以做到这一点。 See here用于某些相关命令。以下是您可以从终端运行的示例:

$ cd to/your/images
$ pto_gen -o project.pto *.jpg
$ cpfind --multirow -o project.pto project.pto
$ celeste_standalone -i project.pto project.pto
$ hugin_executor --stitching --prefix=my_panorama project.pto

我对3次射击进行了快速的理智检查,看起来很合理。我正在使用hugin 2016.0.0。