在matlAB中,用for循环赋值的问题

读取一个图片,寻找符合条件的像素点,我用for循环,我只想赋值读取出第一个和最后一个符合条件的坐标,
求大神指导。我写的代码如下:
[row,col]=size(A);
for i=1:row
for j=1:col
if A(i,j)==0
row=i;
col=j;
break
end
end
end
在循环里 我不知道该如何写赋值的条件以及如何循环不赋值,求大神指导。

[ys, xs] = find(A==0);
这样可以返回两个列向量xs, ys
分别表示符合要求的点的行数和列数
然后
ys(1) xs(1) 这就是第一个符合要求点的坐标
ys(end) xs(end)这就是最后一个符合要求点的坐标追问

为什么我读取的xs的值 是改点的值的三倍。每个点的扩大了三倍。

追答

A是三通道矩阵吧?
运行
[r, c, p] = size(A)
看看p是多少

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-10-16
[ys, xs] = find(A==0);
这样可以返回两个列向量xs, ys
分别表示符合要求的点的行数和列数
然后
ys(1) xs(1) 这就是第一个符合要求点的坐标
ys(end) xs(end)这就是最后一个符合要求点的坐标
第2个回答  2015-11-15
基本格式:
for 循环变量=表达式1:表达式2:表达式3
循环语句组
end
实例:1至100求和
sunm=0
for i=1:1:100
sum=i+sum
end
sum
第3个回答  2014-04-18
什么叫最后一个??你这个说的不清楚啊追问

就是在循环里 第一个符合条件的和最后一个符合条件的坐标,中间的坐标不要。只赋值这两个坐标。

相似回答