资源描述:
《模板匹配算法.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、function[I_SSD,I_NCC,Idata]=template_matching(T,I,IdataIn)%TEMPLATE_MATCHINGisacpuefficientfunctionwhichcalculatesmatching%scoreimagesbetweentemplateandan(color)2Dor3Dimage.%Itcalculates:%-Thesumofsquareddifference(SSDBlockMatching),robusttemplate%matching.%-Thenormalizedcrosscorrelation(NCC),i
2、ndependentofillumination,%onlydependentontexture%Theusercancombinethetwoimages,togettemplatematchingwhich%worksrobustwithhisapplication.%BothmeasuresareimplementedusingFFTbasedcorrelation.%%[I_SSD,I_NCC,Idata]=template_matching(T,I,Idata)%%inputs,%T:ImageTemplate,canbegrayscaleorcolor2Dor3D.%I:
3、Colorimage,canbegrayscaleorcolor2Dor3D.%(optional)%Idata:StorageoftemporaryvariablesfromtheimageI,toallow%fastersearchformultipletemplatesinthesameimage.%%outputs,%I_SSD:Thesumofsquareddifference2D/3Dimage.TheSSDsignis%reversedandnormalizedtorange[01]%I_NCC:Thenormalizedcrosscorrelation2D/3Dima
4、ge.Thevalues%rangebetween0and1%Idata:StorageoftemporaryvariablesfromtheimageI,toallow%fastersearchformultipletemplatesinthesameimage.%%Example2D,%%Findmaximumresponse%I=im2double(imread('lena.jpg'));%%TemplateofEyeLena%T=I(124:140,124:140,:);%%CalculateSSDandNCCbetweenTemplateandImage%[I_SSD,I_
5、NCC]=template_matching(T,I);%%FindmaximumcorrespondenceinI_SDDimage%[x,y]=find(I_SSD==max(I_SSD(:)));%%Showresult%figure,%subplot(2,2,1),imshow(I);holdon;plot(y,x,'r*');title('Result')%subplot(2,2,2),imshow(T);title('Theeyetemplate');%subplot(2,2,3),imshow(I_SSD);title('SSDMatching');%subplot(2
6、,2,4),imshow(I_NCC);title('Normalized-CC');%%Example3D,%%Makesomerandomdata%I=rand(50,60,50);%%Getasmallvolumeastemplate%T=I(20:30,20:30,20:30);%%CalculateSDDbetweentemplateandimage%I_SSD=template_matching(T,I);%%Findmaximumcorrespondence%[x,y,z]=ind2sub(size(I_SSD),find(I_SSD==max(I_SSD(:))));
7、%disp(x);%disp(y);%disp(z);%%FunctioniswrittenbyD.KroonUniversityofTwente(February2011)if(nargin<3),IdataIn=[];end%ConvertimagestodoubleT=double(T);I=double(I);if(size(T,3)==3)%ColorImagedetected[I_SSD,I_NCC,Idata]=template_matchi