2011-11-20 11 views
10

Sadece panorama için başlamak üzere 2 görüntüyü dikmeye çalışıyorum. Ben "zaten keypoints bulundu bu 2 fotoğraf (i OpenCV yeniyim) koduOpencv'de 2 resim dikişi

vector<Point2f> points1, points2; 
for(int i = 0; i < good_matches.size(); i++) 
{ 
    //-- Get the keypoints from the good matches 
    points1.push_back(keypoints1[ good_matches[i].queryIdx ].pt); 
    points2.push_back(keypoints2[ good_matches[i].trainIdx ].pt); 
} 

/* Find Homography */ 
Mat H = findHomography(Mat(points2), Mat(points1), CV_RANSAC); 

/* warp the image */ 
warpPerspective(mImg2, warpImage2, H, Size(mImg2.cols*2, mImg2.rows*2), INTER_CUBIC); 

ait. Şimdi kısmını hizalamak anlamaya olamaz RANSAC ama ben kullanarak eşyazımı bulduk ve ben Mat mImg1 dikiş gerekiyor ilk görüntü ve Mat warpImage2 nerede yüklenen çarpık ikinci görüntü nerede olduğunu, nasıl yapılacağını bana gösterir misiniz? Ben de çarpık görüntü kesilmiş var ve biliyorum homografi matrisini değiştirmek zorunda biliyorum ama şimdilik hizalamak gerekiyor . Bu iki resim yardımcı olduğunuz için teşekkür ederiz

Düzenleme:. Martin Beckett'in yardımıyla Bu kodu

//Point a cv::Mat header at it (no allocation is done) 
Mat final(Size(mImg2.cols*2 + mImg1.cols, mImg2.rows*2),CV_8UC3); 

//velikost img1 
Mat roi1(final, Rect(0, 0, mImg1.cols, mImg1.rows)); 
Mat roi2(final, Rect(0, 0, warpImage2.cols, warpImage2.rows)); 
warpImage2.copyTo(roi2); 
mImg1.copyTo(roi1); 
imshow("final", final); 
eklendi

ve

cevap

8

Sen son görüntüde onları istiyorum pozisyonlarda mevcut görüntülerin büyüklüğü make ROIs sonra, doğru kombine büyüklükte yeni büyüt oluşturmak ve ROI için mevcut görüntüleri kopyalamak Şimdi çalışıyor .

+0

Teşekkür ederiz! Bu, – Bodyboard

+0

çalıştı. Adımlarınızı Bodyboard tarafından düzenlendiğim gibi yaptım, ama ben her zaman gri görüntü olarak her zaman son görüntüyü elde ediyorum. ! Sonuçta elde ettiğim görüntünün doğru eğimli olduğundan eminim. Herhangi bir yardım, takdir edilecektir – dervish

+3

@dervish sizin kaynak görüntüleri 3channel vardır? Eğer dikişten önce bunları dönüştürmeniz gerekmiyorsa veya sonucu kaynakla aynı türden yapın ve sonra –