matlab传统人脸识别

位置 2 处的索引超出数组边界(不能超出 3)。

出错 da2 (第 76 行)
pickshape = BB(:,3)./BB(:,4);%

img

根据错误信息提示,该问题出在第76行的pickshape = BB(:,3)./BB(:,4);处,因为超出了数组边界。可能BB的第二维度的取值超出了3。可以增加一些判断语句来避免超出数组边界的问题,比如:

if size(BB, 2) >= 3 pickshape = BB(:,3)./BB(:,4); else pickshape = BB(:,2)./BB(:,4); end

这样,如果BB的第二个维度小于3,就会选择BB(:,2)./BB(:,4)作为pickshape,否则选择BB(:,3)./BB(:,4)。