3

我必须计算图像每条可检测线的斜率(或角度)。如果可能的话,甚至可以检测线斜率的变化。我已经执行了 2D Fourier,并且我知道每个区域(64x64px 的集合)的邻域平均角度。我什至尝试了霍夫变换,但 sobel 和 prewitt 边缘检测似乎都不能正确检测到这些线。

请注意,有些线是相互交叉的,有些不是笔直的。

有没有一种方法可以检测每条线的斜率?或者检测这些线以执行有用的霍夫变换?

如果您需要完整的图像,我可以将其上传到某个地方。

图片

4

1 回答 1

1

问候阿达梅克,

我希望现在还不算晚。这里有一些快速的想法:

1)第一步使用 Hough trafo 检测线条是一个好主意 2)第二步将是某种标签,以真正知道有哪些线条。最难解决的问题可能是如何确定行的开始和结束并分离可能连接的行。在这种情况下搜索标签关键字,应该会给出一些结果。3) 之后,有了终点和起点,我会 a) 如果您在进一步分析中需要更准确的数据,我会为每条线计算一条回归线 b) 只需通过 f(x)=mx+n 计算斜率和截距,其中 m 是斜率和 n 截距。给定 2D 中的两个点,这很容易做到,如下所示:

slope = (yRight - yLeft)/(xRight - xLeft);
m_oIntercept = ((yLeft - slope*xLeft) + (yRight - slope*xRight))*0.5;

并且不要忘记在之前测试 (xRight-xLeft) < eps 以避免零除法。

希望有帮助,G。

于 2013-03-26T09:50:34.090 回答