首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MATLAB中从一组叠加的线/边创建一条线/边?

如何在MATLAB中从一组叠加的线/边创建一条线/边?
EN

Stack Overflow用户
提问于 2011-12-06 07:43:12
回答 2查看 391关注 0票数 1

我使用MATLAB的计算机视觉工具箱的边缘检测器从图像中检测到一组边缘。所有这些边(18条边)只形成两条线。如何从这些边获得线条?我所感兴趣的就是找到这两条线的交点。

边缘看起来像

霍夫线看起来像

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-15 23:14:11

Peter Kovesi的CV website包含一组很棒的直线检测函数。请看使用它们的this示例。

票数 2
EN

Stack Overflow用户

发布于 2011-12-08 15:09:40

既然你提到的意图是找到“中心点”,这里就有一种可能的方法(虽然不是特定于MATLAB ):

澄清:当你提到

所有这些边(18条边)只形成两条线

它实际上是由两个部分或轮廓组成的。霍夫线变换将给出直线:看起来并不完全是你想要的。

另外,这两条“线”或“轮廓”至少从图中所见并不相交。如果要找到最接近的点,请遍历一条等高线上的每个点,并检查该点与第二条等高线上的点之间的距离。找到等高线上每个点的最小距离。然后从其中选择最小值。

如果你指的是两条直线的交点,只需解这两个方程(你可以通过知道这两条直线的端点得到它们)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8393515

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档