%输入灰度矩阵
A=input('输入灰度矩阵:\n')
%A=[2 2 2 2 2;2 2 2 2 2;2 6 2 10 2;2 2 2 2 2;2 2 2 2 2]
W=ones(9).*2
%把A矩阵扩展开来使其成为9*9的矩阵A居于其正中
for i=3:7
for j=3:7
W(i,j)=A(i-2,j-2)
end
end
%W=[2 2 2 2 2 2 2 2 2;2 2 2 2 2 2 2 2 2;2 2 2 2 2 2 2 2 2;2 2 2 2 2 2 2 2 2;2 2 2 6 2 10 2 2 2;2 2 2 2 2 2 2 2 2;2 2 2 2 2 2 2 2 2;2 2 2 2 2 2 2 2 2;2 2 2 2 2 2 2 2 2]
C=zeros(5)
for c=1:5
for r=1:5
v1=(W(c+2,r)-W(c+2,r+1))^2+(W(c+2,r+1)-W(c+2,r+2))^2+(W(c+2,r+2)-W(c+2,r+3))^2+(W(c+2,r+3)-W(c+2,r+4))^2
v2=(W(c,r)-W(c+1,r+1))^2+(W(c+1,r+1)-W(c+2,r+2))^2+(W(c+2,r+2)-W(c+3,r+3))^2+(W(c+3,r+3)-W(c+4,r+4))^2
v3=(W(c,r+2)-W(c+1,r+2))^2+(W(c+1,r+2)-W(c+2,r+2))^2+(W(c+2,r+2)-W(c+3,r+2))^2+(W(c+3,r+2)-W(c+4,r+2))^2
v4=(W(c+4,r)-W(c+3,r+1))^2+(W(c+3,r+1)-W(c+2,r+2))^2+(W(c+2,r+2)-W(c+1,r+3))^2+(W(c+1,r+3)-W(c,r+4))^2
v=[v1,v2,v3,v4]
IV=min(v)
C(c,r)=IV
end
end
D=input('请输入经验阈值:')
max=0
p=0
q=0
for i=1:5
for j=1:5
if C(i,j)>max
max=C(i,j)
p=i;q=j
end
end
end
max
p
q
if max>D
disp('A矩阵的特征点是:\n')
disp('A(p,q)')
A(p,q)
end
评论0