Image Mosaicing in MAtlab

Status
Not open for further replies.

Sean Bragança

Newbie level 2
Joined
Sep 6, 2014
Messages
2
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
16
The following is a piece of code that forms a Mosaic of two images after computing the Homography Matrix H using RANSAC pror to which SIFT was used to compute the descriptors:
Code:
    % --------------------------------------------------------------------
    %                                                               Mosaic
    % --------------------------------------------------------------------
    box2 = [1  size(im2,2) size(im2,2)  1 ;
            1  1           size(im2,1)  size(im2,1) ;
            1  1           1            1 ] ;
    box2_ = inv(H) * box2 ;
    box2_(1,:) = box2_(1,:) ./ box2_(3,:) ;
    box2_(2,:) = box2_(2,:) ./ box2_(3,:) ;
    ur = min([1 box2_(1,:)]):max([size(im1,2) box2_(1,:)]) ;
    vr = min([1 box2_(2,:)]):max([size(im1,1) box2_(2,:)]) ;
    [u,v] = meshgrid(ur,vr) ;
    im1_ = vl_imwbackward(im2double(im1),u,v) ;
    z_ = H(3,1) * u + H(3,2) * v + H(3,3) ;
    u_ = (H(1,1) * u + H(1,2) * v + H(1,3)) ./ z_ ;
    v_ = (H(2,1) * u + H(2,2) * v + H(2,3)) ./ z_ ;
    im2_ = vl_imwbackward(im2double(im2),u_,v_) ;
    mass = ~isnan(im1_) + ~isnan(im2_) ;
    im1_(isnan(im1_)) = 0 ;
    im2_(isnan(im2_)) = 0 ;
    mosaic = (im1_ + im2_) ./ mass ;
    figure(2) ; clf ;
    imagesc(mosaic) ; axis image off ;
    title('Mosaic') ;
    if nargout == 0, clear mosaic ; end
    end
I understand box2 is an area that's created based on the size of our second image in which the images will be stitcked. Why then, are we performing an Inverse Homography multiplication on it?

Could someone please explain the steps that follow as I'm not familiar with image mosaicing in Matlab.
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…