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
Teşekkür ederiz! Bu, – Bodyboard
ç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
@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 –