?? correlation.m
字號:
function correlation(mask,pic)
picsize=size(pic);
masksize=size(mask);
% change size of mask to odd
if(mod(masksize(1,1),2)==0)
mask2=zeros(masksize(1)-1,masksize(2));
mask2(:,:)=mask([1:masksize(1)-1],:);
mask=0;
mask=mask2;
end
masksize=size(mask);
if(mod(masksize(1,2),2)==0)
mask2=zeros(masksize(1),masksize(2)-1);
mask2(:,:)=mask(:,[1:masksize(2)-1]);
mask=0;
mask=mask2;
end
masksize=size(mask)
%padding
padx=floor(masksize(1)/2);
pady=floor(masksize(2)/2);
picpad=zeros(picsize(1,1)+padx*2,picsize(1,2)+pady*2);
picpad([padx+1:picsize(1,1)+padx],[pady+1:picsize(1,2)+pady])=pic(:,:);
picsize=size(picpad);
picco=zeros(size(pic,1),size(pic,2));
picarray=zeros(masksize(1),masksize(2));
for(i=1:picsize(1)-padx*2)
for(j=1:picsize(2)-pady*2)
picarray(:,:)=picpad([i:i+masksize(1)-1],[j:j+masksize(2)-1]);
picarray2=picarray.*mask;
%picco(i,j)=sum(sum(picarray2));
picco(i,j)=sum(sum(picarray2))/sqrt(sum(dot(picarray,picarray))*sum(dot(mask,mask)));
end
end
mesh(picco);
[value,column]=max(max(picco))
[value,row]=max(max(transpose(picco)))
x=pic([row-padx:row+padx],[column-pady:column+pady]);
figure;imshow(x/255);
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -