how to stitch two images with overlapped area?
26 次查看(过去 30 天)
显示 更早的评论
hi
i am using SIFT algorithm with vl_sift (and other functions) to find matched points in two images, that has overlapping area. now that i have the match points, how can i transform the second image and stitch it to the first one. from what i read in different papers, i conclude that i have to create mask to do this, but then what to do with the mask?
here is my code: (of course incomplete, i need now to stitch these two pics together)
f1 = imread('IMG_0148.jpg');
f2 = imread('IMG_0149.jpg');
f1 = im2single(rgb2gray(f1));
f2 = im2single(rgb2gray(f2));
[h1,d1] = vl_sift(f1) ;
[h2,d2] = vl_sift(f2) ;
[matches, scores] = vl_ubcmatch(d1, d2) ;
Thanks!
0 个评论
采纳的回答
Image Analyst
2013-12-8
See Chapters 9 and 10 of Richard Szileski's book: http://szeliski.org/Book/ which discuss this topic.
更多回答(2 个)
Omair
2013-12-5
I'm assuming you are trying to create a panorama from these two images. For that you will need to calculate the homography and transform one image into the plane of the other image before you can stitch them together.
5 个评论
Omair
2013-12-5
Now you need to transform your pixel coordinates to the pixel coordinates of the other image plane by multiplying with the homography matrix, not the pixel values but the pixel coordinates. This will tell you where the particular pixel value belongs in the other image plane.
Omair
2013-12-5
Have a look at these slides ( http://www.gris.tu-darmstadt.de/teaching/courses/ss13/cv1/slides/l10-geometry.pdf), slide 15 onwards . For calculating the homography matrix you have 8 unknows. You need 4 feature point correspondences between your two images to solve for those 8 unknows. From those you calculate the homography matrix.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!