matlab中,如何把相邻的点连起来?

最好能规定距离。。。我提取边缘,结果都是断点~谢谢... 最好能规定距离。。。我提取边缘,结果都是断点~
谢谢
展开
百度网友3ebf96a
2011-12-27 · TA获得超过368个赞
知道小有建树答主
回答量:81
采纳率:0%
帮助的人:107万
展开全部
如下是代码,我测试了一下没什么大问题,你按照注释修改应该就可以了,如果有问题,再联系我。

function link_dot()
% 将相邻的两个点连接

% step0:我自己生成的测试数据,你可以把 step0 去掉,用你的数据替换
x = 0:0.1:10; %% 请用行向量替换 x,y
y = x.^3 - 13*x.^2;

% step1:连接最近的两个点,从 x 值最小的点开始

% 1.0:
[x, index] = sort(x); %% 给 x 排序
y = y(index); %% y 也按 x 排序

% 1.1:将最近的两点连接起来
N = length(x);

figure;
hold on;

x0 = x(1);
y0 = y(1);
x(1) = [];
y(1) = [];
for i = 2:N
d = sqrt((x - x0).^2 + (y - y0).^2); %% 求所有点距 (x0,y0)的距离

dmin = min(d); %% 找到距离最小值
p = (d == dmin); %% 找到最小值在数组中的位置,即可找到最近的坐标点

x1 = x(p); %% 找到最近的点
y1 = y(p);

plot([x0,x1],[y0,y1],'-+'); %% 连接邻近两点

x0 = x(p); %% 以这个点作为下一个计算点
y0 = y(p);

x(p) = []; %% 删除当前点
y(p) = [];

if i == N-15
end
end

hold off;

end
追问
你好。请问怎么联系,另外,怎么把不封闭的图像闭合起来?
追答
QQ:944096506,晚上一般在线,你试过这个程序了吗?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式