matlab中如何提取边缘点坐标

比如有一幅二值化的图E,首先用 R=edge(E,'canny',0.5);提取了边缘点,现在想把其中的所有边缘点坐标提取出来,该怎么做呢?提取出的形式应该是[x,y]型的,也就是n行两列的矩阵

MATLAB提取边缘点坐标,在曲线上每隔几个像素或相同的距离采一个特征点,然后提取出边缘点坐标,方法如下:

%寻找像素为1的点 col为横坐标 row为纵坐标 
[col,row]=find(I == 1);

%在一定范围内筛选坐标
for(col=1:1024 )   
for(row=1:768)       
if(col>374 & col<481 &row>146 &row<246)          
[col,row]  %输出坐标         
end
end
end
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-12-16
[Kr,Kc] = find(R);
%得到的Kr和Kc是两个列向量,分别存储着R中非零点的行数和列数(如果取反了就find(~R))
然后你再合并一下就成了。本回答被提问者采纳
相似回答