我想使用Opencv對齊不同尺寸的兩幅圖像, 事實上,函數cvAddWeighted使我們能夠合併或混合兩幅相同大小的圖像,這不是我的情況! 所以我需要一個幫助,如果有人知道如何實現此功能與 考慮圖像通過Opencv混合兩幅圖像
感謝 y.m
我想使用Opencv對齊不同尺寸的兩幅圖像, 事實上,函數cvAddWeighted使我們能夠合併或混合兩幅相同大小的圖像,這不是我的情況! 所以我需要一個幫助,如果有人知道如何實現此功能與 考慮圖像通過Opencv混合兩幅圖像
感謝 y.m
首先,檢查Adding Two Images with Different Size不同的尺寸。
另一種方法是使用較小的寬度/高度(cvSetImageROI()將會這樣做)設置較大圖像的感興趣區域,然後使用cvAddWeighted()執行混合。你會發現一些源代碼來做到這一點,here。
我猜你有兩個圖像需要對齊。您還將獲得一張圖片需要被移動的數量。
您可以創建一個新的圖像,在移動後可以包含這兩個圖像。這意味着,它將是原始圖像的高度+垂直位移,其寬度將是原始水平位移的寬度。
然後,您可以在此圖像上設置ROI並複製圖像。
+1我是Aishack的忠實粉絲....我從中學到了很多東西......我能得到如何在3D中獲得頭部旋轉的信息,我需要知道3角... – Wazzzy 2011-12-07 09:15:27
你寫了一個Rect_from_Mat函數,它返回Rect(0,0,img.rows,img.cols)。
然後:
Rect roi = Rect_from_Mat(img1) & Rect_from_Mat(img2);
Mat img1_roi = img1(roi), img2_roi = img2(roi);
if(results_in_img1)
{
addWeighted(img1_roi, alpha, img2_roi, beta, gamma, img1_roi);
return img1;
}
注意 'addWeighted' 線將(間接地)覆蓋IMG1的圖像數據。
您是否有興趣重新調整一個圖像以保持與另一個圖像相同的尺寸? – karlphillip 2010-08-11 15:38:43