2014-02-17 86 views
2

我想用python拼接多个(5或6)图像。我是python的新手,但我想使用它,因为它在服务器上运行并且是开源的。 OpenCV似乎能够做到这一点,并将是我的首选选项,但功能主要是在C++中,我找不到任何在python中执行它的例子(虽然它应该是有能力的)。我发现这个链接:http://richardt.name/teaching/supervisions/vision-2011/practical/但我认为我没有能力做这个练习。在Python中拼接图像

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

有没有人可以帮助我呢?我来自php编程,对于Python,OpenCV和Hugin来说我真的很陌生。

非常感谢

+0

可能重复的[拼接照片在一起](http://stackoverflow.com/questions/10657383/stitching-photos-together) –

+1

我看到这篇文章,但是,该文章只是想把两个图像合并成一个没有很好地混合和拟合图像的问题。在我的情况下,我想从两张照片制作全景图。 – Yorian

+0

Hugin要求用户确定重叠照片之间的共同点。如果你使用Python进行编程,你打算如何实现自动化? – unutbu

回答

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

+0

感谢您的回复。这只是将两个图像放在彼此旁边。但我想制作一张全景照片 – Yorian

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。