我必须计算图像的每条可检测线的斜率(或角度)。甚至可以检测线的斜率变化,如果可能的话。
我已经进行了2D傅里叶变换,我知道每个区域都有一个邻近的角度(64x64px的集合)。我甚至尝试了Hough变换,但sobel和prewitt边缘检测似乎都没有适当地检测到这些线。
请注意,有些线路相互交叉,有些不是直线。
有没有办法检测每条线的斜率?或者检测这些行以执行有用的Hough变换?
如果您需要完整图片,我可以将其上传到某处。
答案 0 :(得分:0)
Greets Adamek,
我希望现在还为时不晚。这里有一些简单的想法:
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。