资源简介

压缩包中包含的具体内容: 对给定数据中的6个不同场景图像,进行全景图拼接操作,具体要求如下: (1) 寻找关键点,获取关键点的位置和尺度信息(DoG检测子已由KeypointDetect文件夹中的detect_features_DoG.m文件实现;请参照该算子,自行编写程序实现Harris-Laplacian检测子)。 (2) 在每一幅图像中,对每个关键点提取待拼接图像的SIFT描述子(编辑SIFTDescriptor.m文件实现该操作,运行EvaluateSIFTDescriptor.m文件检查实现结果)。 (3) 比较来自两幅不同图像的SIFT描述子,寻找匹配关键点(编辑SIFTSimpleMatcher.m文件计算两幅图像SIFT描述子间的Euclidean距离,实现该操作,运行EvaluateSIFTMatcher.m文件检查实现结果)。 (4) 基于图像中的匹配关键点,对两幅图像进行配准。请分别采用最小二乘方法(编辑ComputeAffineMatrix.m文件实现该操作,运行EvaluateAffineMatrix.m文件检查实现结果)和RANSAC方法估计两幅图像间的变换矩阵(编辑RANSACFit.m 文件中的ComputeError()函数实现该操作,运行TransformationTester.m文件检查实现结果)。 (5) 基于变换矩阵,对其中一幅图像进行变换处理,将其与另一幅图像进行拼接。 (6) 对同一场景的多幅图像进行上述操作,实现场景的全景图拼接(编辑MultipleStitch.m文件中的makeTransformToReferenceFrame函数实现该操作)。可以运行StitchTester.m查看拼接结果。 (7) 请比较DoG检测子和Harris-Laplacian检测子的实验结果。图像拼接的效果对实验数据中的几个场景效果不同,请分析原因。 已经实现这些功能,并且编译运行均不报错!

资源截图

代码片段和文件信息

function H = ComputeAffineMatrix( Pt1 Pt2 )
%ComputeAffineMatrix 
%   Computes the transformation matrix that transforms a point from
%   coordinate frame 1 to coordinate frame 2
%Input:
%   Pt1: N * 2 matrix each row is a point in image 1 
%       (N must be at least 3)
%   Pt2: N * 2 matrix each row is the point in image 2 that 
%       matches the same point in image 1 (N should be more than 3)
%Output:
%   H: 3 * 3 affine transformation matrix 
%       such that H*pt1(i:) = pt2(i:)

    N = size(Pt11);
    if size(Pt1 1) ~= size(Pt2 1)
        error(‘Dimensions unmatched.‘);
    elseif N<3
        error(‘At least 3 points are required.‘);
    end
    
    % Convert the input points to homogeneous coordintes.
    P1 = [Pt1‘;ones(1N)];
    P2 = [Pt2‘;ones(1N)];

    % Now we must solve for the unknown H that satisfies H*P1=P2
    % But MATLAB needs a system in the form Ax=b and A\b solves for x.
    % In other words the unknown matrix must be on the right.
    % But we can use the properties of matrix transpose to get something
    % in that form. Just take the transpose of both sides of our equation
    % above to yield P1‘*H‘=P2‘. Then MATLAB can solve for H‘ and we can
    % transpose the result to produce H.
    
    H = [];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                                              %
%                                YOUR CODE HERE:                               %
%        Use MATLAB‘s “A\b“ syntax to solve for H_transpose as discussed       %
%                     above then convert it to the final H                    %
%                                                                              %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%       END OF YOUR CODE                                              %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    
    % Sometimes numerical issues cause least-squares to produce a bottom
    % row which is not exactly [0 0 1] which confuses some of the later
    % code. So we‘ll ensure the bottom row is exactly [0 0 1].
    H(3:) = [0 0 1];
end

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        207  2013-10-02 19:11  图像拼接作业\checkpoint\Affine_ref.mat

     文件     987133  2013-10-02 19:23  图像拼接作业\checkpoint\Match_input.mat

     文件        255  2013-10-02 19:27  图像拼接作业\checkpoint\Match_ref.mat

     文件      76813  2013-10-06 12:46  图像拼接作业\checkpoint\SIFT_ref.mat

     文件       2346  2013-10-06 10:50  图像拼接作业\ComputeAffineMatrix.m

     文件     178270  2018-04-17 14:50  图像拼接作业\data\building_01.jpg

     文件     136247  2018-04-17 14:50  图像拼接作业\data\building_02.jpg

     文件     154376  2018-04-17 14:50  图像拼接作业\data\building_03.jpg

     文件     177695  2018-04-17 14:50  图像拼接作业\data\building_04.jpg

     文件    2817144  2018-04-23 08:24  图像拼接作业\data\campus_00.jpg

     文件    2944043  2018-04-23 08:24  图像拼接作业\data\campus_01.jpg

     文件    2996977  2018-04-23 08:24  图像拼接作业\data\campus_02.jpg

     文件    3254177  2018-04-23 08:24  图像拼接作业\data\campus_03.jpg

     文件    3183675  2018-04-23 08:24  图像拼接作业\data\campus_04.jpg

     文件     108679  2013-10-06 11:17  图像拼接作业\data\pine1.jpg

     文件     128952  2013-10-06 11:18  图像拼接作业\data\pine2.jpg

     文件     126069  2013-10-06 11:18  图像拼接作业\data\pine3.jpg

     文件     120636  2013-10-06 11:18  图像拼接作业\data\pine4.jpg

     文件     195037  2009-10-10 12:37  图像拼接作业\data\trees_000.jpg

     文件     230526  2009-10-10 12:49  图像拼接作业\data\trees_001.jpg

     文件     253284  2009-10-10 12:37  图像拼接作业\data\trees_002.jpg

     文件     267269  2009-10-10 12:37  图像拼接作业\data\trees_003.jpg

     文件     255429  2018-04-23 16:23  图像拼接作业\data\watering_cart_00.jpg

     文件     219885  2018-04-23 16:24  图像拼接作业\data\watering_cart_01.jpg

     文件     173547  2018-04-23 16:24  图像拼接作业\data\watering_cart_02.jpg

     文件     165564  2018-04-23 16:24  图像拼接作业\data\watering_cart_03.jpg

     文件     203176  2009-10-11 14:14  图像拼接作业\data\yosemite1.jpg

     文件     199756  2009-10-11 14:14  图像拼接作业\data\yosemite2.jpg

     文件     183602  2009-10-11 14:14  图像拼接作业\data\yosemite3.jpg

     文件     253504  2009-10-11 14:14  图像拼接作业\data\yosemite4.jpg

............此处省略60个文件信息

评论

共有 条评论