資源簡(jiǎn)介
攝影測(cè)量學(xué) 模板匹配法 采用二元二次多項(xiàng)式擬合相關(guān)曲面函數(shù)
代碼片段和文件信息
clear;clc;close?all;
%%?1.模板制作
x1=[0?0?1];y1=[0?2?1];
x2=[0?1?2];y2=[0?1?0];
x3=[0?1?2];y3=[2?1?2];
x4=[1?2?2];y4=[1?0?2];
fill(x1y1‘w‘);hold?on;
fill(x2y2‘k‘);hold?on;
fill(x3y3‘k‘);hold?on;
fill(x4y4‘w‘);hold?on;
axis?off;axis?square;axis?fill;
%%?2.導(dǎo)入圖像
I=imread(‘標(biāo)志.bmp‘);
[I_heightI_width]=size(I);%獲取原圖象的大小尺寸,其值為[長(zhǎng),寬]
%?figure;?
%?imshow(I);
muban=imread(‘muban.bmp‘);
muban=rgb2gray(muban);
%?figure;?
%?imshow(muban);
%%?3.粗定位
n=I_height-9;%移動(dòng)次數(shù)
r=zeros(591591);
%掃描,計(jì)算相關(guān)系數(shù)
for?k=0:17
%?k=0;
????mubanr=imrotate(mubank*10);%旋轉(zhuǎn)圖像
????[mubanr_heightmubanr_width]=size(mubanr);%旋轉(zhuǎn)后的尺寸
????mubanr=imcrop(mubanr[mubanr_height/2-50mubanr_width/2-50100100]);%提取中心區(qū)域
????mubanr=imresize(mubanr[1010]);%縮放至合適尺寸上面9已限定模板尺寸
????for?i=1:n
????????for?j=1:n
????????????temp_picture=imcrop(I[ji99]);%以ij為坐標(biāo)起點(diǎn)裁割與模板等大的圖像
????????????r(ij)=corr2(temp_picturemubanr);%計(jì)算相關(guān)系數(shù)矩陣
????????end
????end
????a(1:nk*n+1:(k+1)*n)=r;?%依次放至矩陣a中??
%?????a(::k+1)=r;
end
a_nan=a;
a_nan(isnan(a_nan)==1)=0;%去除無效值
b=zeros(591591);
%每個(gè)位置的最大值放到b中
for?i=1:n
????for?j=1:n
????????if?a_nan(ij+n)>a_nan(ij)
????????????b(ij)=a_nan(ij+n);
????????else
????????????b(ij)=a_nan(ij);
????????end
????end
end
%?[xy]=find(b>0.5);
%?x(:)=x(:)+4;%此處坐標(biāo)為a中坐標(biāo),需要轉(zhuǎn)換成I的
%?y(:)=y(:)+4;
%?plot(x(:)y(:)‘*‘);axis?square;
%提取每個(gè)區(qū)域最大值整像素位置
x=zeros(55);
y=zeros(55
評(píng)論
共有 條評(píng)論