2014-02-17 341 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。