matlab A=I((X(k)-1):(X(k)+1),(Y(k)-1):(Y(k)+1));
1个回答
展开全部
语句的功能是对I矩阵进行截取,X(k)-1):(X(k)+1)这三行,和(Y(k)-1):(Y(k)+1)这三列,生成3X3矩阵
更多追问追答
追问
帮我看看整段代码吧!
%I:待分割的图像,rmin ,rmax:瞳孔半径的最大最小值 function [ci,cp,out]=thresh(I,rmin,rmax);
I=im2double(I); rows=size(I,1); cols=size(I,2); [X,Y]=find(Irmin)&(Y(k)>rmin)&(X(k)<=(rows-rmin))&(Y(k)<(cols-rmin))
A=I((X(k)-1):(X(k)+1),(Y(k)-1):(Y(k)+1)); M=min(min(A)); if I(X(k),Y(k))~=MX(k)=NaN;Y(k)=NaN; end
追答
你给的程序有错误,我稍微改了下,感觉大题的意思是寻找亮度小于0.5的区域中的亮度最低点的坐标,你ci cp没用到,不知道做什么用的。:
[ci,cp,out]=thresh(I,rmin,rmax);
I=im2double(I);
rows=size(I,1);
cols=size(I,2);
[X,Y]=find(Irmin)&(Y(k)>rmin)&(X(k)<=(rows-rmin))&(Y(k)<(cols-rmin))%如果点在瞳孔范围之内
A=I((X(k)-1):(X(k)+1),(Y(k)-1):(Y(k)+1));
M=min(min(A));%M取最小值
end
if I(X(k),Y(k))~=M%如果X(k),Y(k)点不是最小值
X(k)=NaN;%赋空
Y(k)=NaN;
end
end
建议贴程序认真点。格式自己调好了,再贴上来。不然浪费大家时间。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询