資源簡介
基于SURF特征點的圖像拼接算法,用MATLAB語言編寫。親測可用,速度比SIFT特征點的配準算法快很多!

代碼片段和文件信息
?%?Example?2?Corresponding?points
%?Load?images
??I11=imread(‘TestImages/1.jpg‘);
??I1=imresize(I11[540?960]);
??I22=imread(‘TestImages/2.jpg‘);
??I2=imresize(I22[540?960]);
%?Get?the?Key?Points
??Options.upright=true;
??Options.tresh=0.0001;
??Ipts1=OpenSurf(I1Options);
??Ipts2=OpenSurf(I2Options);
%?Put?the?landmark?descriptors?in?a?matrix
??D1?=?reshape([Ipts1.descriptor]64[]);?
??D2?=?reshape([Ipts2.descriptor]64[]);?
%?Find?the?best?matches
??err=zeros(1length(Ipts1));
??cor1=1:length(Ipts1);?
??cor2=zeros(1length(Ipts1));
??for?i=1:length(Ipts1)
??????distance=sum((D2-repmat(D1(:i)[1?length(Ipts2)])).^21);
??????[err(i)cor2(i)]=min(distance);
??end
%?Sort?matches?on?vector?distance
??[err?ind]=sort(err);?
??cor1=cor1(ind);?
??cor2=cor2(ind);
%?Show?both?images
??I?=?zeros([size(I11)?size(I12)*2?size(I13)]);
??I(:1:size(I12):)=I1;?I(:size(I12)+1:size(I12)+size(I22):)=I2;
??figure?imshow(I/255);?hold?on;
%?Show?the?best?matches
??for?i=1:30
??????c=rand(13);
??????plot([Ipts1(cor1(i)).x?Ipts2(cor2(i)).x+size(I12)][Ipts1(cor1(i)).y?Ipts2(cor2(i)).y]‘-‘‘Color‘c)
??????plot([Ipts1(cor1(i)).x?Ipts2(cor2(i)).x+size(I12)][Ipts1(cor1(i)).y?Ipts2(cor2(i)).y]‘o‘‘Color‘c)
??end
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1266??2016-04-15?14:15??OpenSURF_version1c\example2.m
????.......??????1776??2010-09-07?01:00??OpenSURF_version1c\example3.m
????.......??????1314??2014-02-12?13:16??OpenSURF_version1c\license.txt
????.......??????3778??2010-09-07?00:27??OpenSURF_version1c\OpenSurf.m
????.......???????603??2010-07-27?04:56??OpenSURF_version1c\SubFunctions\FastHessian_BuildDerivative.m
????.......??????1699??2010-07-30?00:10??OpenSURF_version1c\SubFunctions\FastHessian_buildResponsela
????.......??????1877??2010-07-21?00:37??OpenSURF_version1c\SubFunctions\FastHessian_buildResponseMap.m
????.......??????2353??2010-07-30?23:43??OpenSURF_version1c\SubFunctions\FastHessian_getIpoints.m
????.......???????455??2010-07-27?04:56??OpenSURF_version1c\SubFunctions\FastHessian_getLaplacian.m
????.......???????450??2010-07-27?04:56??OpenSURF_version1c\SubFunctions\FastHessian_getResponse.m
????.......??????2478??2010-07-30?23:02??OpenSURF_version1c\SubFunctions\FastHessian_interpolateExtremum.m
????.......??????1680??2010-07-30?22:56??OpenSURF_version1c\SubFunctions\FastHessian_isExtremum.m
????.......???????738??2010-07-30?04:32??OpenSURF_version1c\SubFunctions\FastHessian_Responsela
????.......???????791??2010-07-29?22:58??OpenSURF_version1c\SubFunctions\IntegralImage_BoxIntegral.m
????.......???????494??2010-07-30?04:32??OpenSURF_version1c\SubFunctions\IntegralImage_HaarX.m
????.......???????556??2010-07-30?04:37??OpenSURF_version1c\SubFunctions\IntegralImage_HaarY.m
????.......???????796??2010-07-29?22:42??OpenSURF_version1c\SubFunctions\IntegralImage_IntegralImage.m
????.......??????1089??2010-07-30?23:39??OpenSURF_version1c\SubFunctions\PaintSURF.m
????.......??????1554??2010-07-31?00:39??OpenSURF_version1c\SubFunctions\SurfDesc
????.......??????3636??2010-07-31?00:40??OpenSURF_version1c\SubFunctions\SurfDesc
????.......??????2921??2010-07-31?00:07??OpenSURF_version1c\SubFunctions\SurfDesc
?????文件?????245850??2016-04-05?13:15??OpenSURF_version1c\TestImages\1.jpg
?????文件?????253044??2016-04-05?13:15??OpenSURF_version1c\TestImages\2.jpg
????.......????239755??2010-09-07?00:22??OpenSURF_version1c\TestImages\lena1.png
????.......????211716??2010-09-07?00:22??OpenSURF_version1c\TestImages\lena2.png
????.......??????5296??2010-07-20?05:38??OpenSURF_version1c\TestImages\test.png
????.......????123228??2010-07-27?01:06??OpenSURF_version1c\TestImages\testc1.png
????.......????122063??2010-07-27?01:06??OpenSURF_version1c\TestImages\testc2.png
????.......??????9721??2010-09-07?01:04??OpenSURF_version1c\WarpFunctions\affine_warp.m
?????目錄??????????0??2016-04-14?23:35??OpenSURF_version1c\SubFunctions
............此處省略6個文件信息
- 上一篇:MATLAB數字圖像處理外文文獻
- 下一篇:GA算法求最大值
評論
共有 條評論