【发布时间】:2015-04-18 15:49:10
【问题描述】:
如果不是得到所有边缘,我只想要形成 45 度角的边缘。检测这些的方法是什么?
是否可以检测所有边缘,然后以某种方式运行约束霍夫变换来检测哪些边缘形成 45 度?
【问题讨论】:
标签: image-processing computer-vision
如果不是得到所有边缘,我只想要形成 45 度角的边缘。检测这些的方法是什么?
是否可以检测所有边缘,然后以某种方式运行约束霍夫变换来检测哪些边缘形成 45 度?
【问题讨论】:
标签: image-processing computer-vision
使用对角结构元素并简单地对图像进行卷积有什么问题?
请阅读here 并且应该清楚如何构建结构元素。如果您熟悉卷积,则可以构建一个简单的结构矩阵,无需理论即可放大对角线
{ 0, 1, 2},
{-1, 0, 1},
{-2, -1, 0}
这个想法是:您想要放大图像中的像素,其中 45 度以下与 45 度以上不同。当您处于 45 度边缘时就是这种情况。
举个例子。如下图
由上面的矩阵卷积得到一个灰度图像,其中最高像素值的线条正好是 45 度。
现在的方法是简单地对图像进行二值化。等等
【讨论】:
首先,可以将其作为后期处理。 Hough 的结果在 (angle,radius) 的参数空间中。 所以你可以简单地在角度=(45-5,45+5)和所有半径中取一个切片。
另一种方法是边缘检测的输出将仅包含 45/135 角边缘。
【讨论】:
如果您使用内核但想要直线方程,那么在找到边缘像素后您仍然需要执行直线拟合。如果您确定线正好是 45 度,那么知道任何已发现的线或线段上的 (x,y) 点就足以找到线方程。
Hough (rho, theta) 参数空间可以使用您想要的任何范围的 rho 和 theta。您可以对图像进行预处理,以便以适当的角度偏爱相邻像素。例如,如果边缘像素在适当的角度有 8 个相邻像素,则给它一个“奖励点”。您当然可以将基于内核的方法(例如建议的 halirutan)与参数或无参数 Hough 算法混合使用。
Hough 的最新实现以极快的速度运行,因此如果您正在寻找快速解决方案,您可以下载开源代码,然后简单地过滤输出。
“通过改进的霍夫变换投票方案进行实时线路检测” 费尔南德斯和奥利维拉 http://www.ic.uff.br/~laffernandes/projects/kht/index.html
【讨论】: