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

霍夫线看起来像

发布于 2011-12-15 23:14:11
Peter Kovesi的CV website包含一组很棒的直线检测函数。请看使用它们的this示例。
发布于 2011-12-08 15:09:40
既然你提到的意图是找到“中心点”,这里就有一种可能的方法(虽然不是特定于MATLAB ):
澄清:当你提到
所有这些边(18条边)只形成两条线
它实际上是由两个部分或轮廓组成的。霍夫线变换将给出直线:看起来并不完全是你想要的。
另外,这两条“线”或“轮廓”至少从图中所见并不相交。如果要找到最接近的点,请遍历一条等高线上的每个点,并检查该点与第二条等高线上的点之间的距离。找到等高线上每个点的最小距离。然后从其中选择最小值。
如果你指的是两条直线的交点,只需解这两个方程(你可以通过知道这两条直线的端点得到它们)。
https://stackoverflow.com/questions/8393515
复制相似问题