2014-01-15 46 views
1

我在Python中使用OpenCV。該文件正在殺死我。如何正確使用estimateRigidTransform?估計在OpenCV中的剛體轉換python

我試圖提取兩個圖像之間的相似性轉換,所以我假設我不能使用findHomography b/c我不想引入剪切等。EstimateRigidTransform看起來像完美的候選人,但我只是接收輸出「無」。它的輸入是什麼?有沒有人正確使用它即使是一個簡單的情況?

我的代碼是值得的效果:

img1=cv2.imread('src.jpg') 
img2=cv2.imread('dst.jpg') 
H = cv2.estimateRigidTransform(img1, img2, False) 

我試圖操縱輸入不同的數據類型都無濟於事。我也可以輸入關鍵點?或匹配的關鍵點?

任何兩個圖像的簡單例子將是有用的!謝謝

回答

4

estimatedRigidTransform有兩種工作模式:圖像匹配和點集之間的匹配。爲了在圖像之間進行匹配,需要在兩幅圖像中找到感興趣的點,並找出哪個點應與哪個點匹配。我很欣賞嘗試創建一般情況下的算法,但這幾乎是不可能的任務。所以我建議你使用第二種估計模式,即點集之間的匹配。首先,找到圖像中的興趣點。其次,找到不同組的點之間的匹配。第三,使用estimateRigidTransform來查找變換本身。點應該以兩個相同大小的數組提供(匹配點應該在匹配的地方)。

您可以使用this文檔estimateRigidTransform。它很簡單,非常具有描述性。

0

是的,你不能直接轉換圖像,你應該首先給出兩個圖像的相應關鍵點。