位置 1 处的索引无效。数组索引必须为正整数或逻辑值。

使用matlab实现指纹识别匹配的过程中遇到的问题 代码如下!!有偿!!!

出错 main (line 51)
        sxy1(1,:)=cxy1(x,:);

close all;
tic;
clear;
num=60;
r=8;
thin1=tuxiangyuchuli('C:\Users\HP\Desktop\指纹图像\指纹4.jpg');
thin2=tuxiangyuchuli('C:\Users\HP\Desktop\指纹图像\指纹10.jpg');
figure;
txy1=point(thin1);
txy2=point(thin2);
[w1,txy1]=guanghua(thin2,txy2);
[w2,txy2]=guanghua(thin2,txy2);
thin1=w1;
thin2=w2;
txy1=cut(thin1,txy1);
txy2=cut(thin2,txy2);
[pxy31,error2]=last1(thin1,8,txy1,60);
[pxy32,error2]=last1(thin2,8,txy2,60);
 error=1;
cxy1=pxy31;
cxy2=pxy32;
s1=size(cxy1,1);
s2=size(cxy2,1);
f=10;
x=0;
y=0;
for i=1:s1
    for j=1:s2
   d1=distance(cxy1(i,1),cxy1(i,2),num,thin1);
   d2=distance(cxy2(j,1),cxy2(j,2),num,thin2);
    ff=(sum(abs((d1./d2)-1)));
    if ff<f
        x=i;
        y=j;
        f=ff;
    end
    end
end
    f;
    if f>=0.5
        msgbox('not match');
 %      break;
    end

        sxy1(1,:)=cxy1(x,:);
        sxy2(1,:)=cxy2(y,:);     

    c1=find_point(sxy1(1,1),sxy1(1,2),txy1,2);
    c2=find_point(sxy2(1,1),sxy2(1,2),txy2,2);

    sxy1(2,:)=c1(1,:);
    sxy1(3,:)=c1(2,:);
    sxy2(2,:)=c2(1,:);
    sxy2(3,:)=c2(2,:);

    x11=sxy1(1,1);  y11=sxy1(1,2);
    x12=sxy1(2,1);  y12=sxy1(2,2);
    x13=sxy1(3,1);  y13=sxy1(3,2);
    x21=sxy2(1,1);  y21=sxy2(1,2);
    x22=sxy2(2,1);  y22=sxy2(2,2);
    x23=sxy2(3,1);  y23=sxy2(3,2);
    dd1(1)=juli(x11,y11,x12,y12);
    dd1(2)=juli(x12,y12,x13,y13);
    dd1(3)=juli(x13,y13,x11,y11);
    dd2(1)=juli(x21,y21,x22,y22);
    dd2(2)=juli(x22,y22,x23,y23);
    dd2(3)=juli(x23,y23,x21,y21);
    ff=(sum(abs((dd1./dd2)-1)));
    if ff>=1.5
        msgbox('not match');
       % break;
    end

    
    cxy1(2:41,:)=find_point(pxy31(x,1),pxy31(x,2),txy1,40);
    cxy2(2:41,:)=find_point(pxy32(y,1),pxy32(y,2),txy2,40);
    f11=length(find(cxy1(:,3)==2));
    f12=length(find(cxy1(:,3)==6));
    f21=length(find(cxy2(:,3)==2));
    f22=length(find(cxy2(:,3)==6));
    fff=abs(f11-f21)/(f11+f12);
    if fff<=0.2
        msgbox('match!');
    end
    toc

出错 main (line 51),不止这么一点代码吧。提示51行出错呢。这种错误一般都是你传给数组的索引不是整形值引起的。

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y