Image processing 图像的直线检测
我正在做一个项目,这是在道路上的洞检测。我用激光在道路上发射光束,用相机拍摄道路图像。图像可能是这样的 现在我想处理这个图像,并给出一个结果,它是直的还是不直的。如果是曲线,那么曲线有多大。Image processing 图像的直线检测,image-processing,curve,edge-detection,straight-line-detection,Image Processing,Curve,Edge Detection,Straight Line Detection,我正在做一个项目,这是在道路上的洞检测。我用激光在道路上发射光束,用相机拍摄道路图像。图像可能是这样的 现在我想处理这个图像,并给出一个结果,它是直的还是不直的。如果是曲线,那么曲线有多大。 我不知道该怎么做。我已经搜索了很多,但是找不到合适的结果。有人能帮我吗 这相当复杂,您的问题也非常广泛,但让我们试一试: 也许你必须识别像素图像中的点。有几个选项可以做到这一点,但我会通过模糊过滤器平滑图像,然后找到最红色的像素(据信是点的中心)。将这些坐标存储在向量数组中(x乘以y的数组) 我会在点之间
我不知道该怎么做。我已经搜索了很多,但是找不到合适的结果。有人能帮我吗 这相当复杂,您的问题也非常广泛,但让我们试一试:
两个人。我会使用一些数学工具包,可以是八度音阶,也可以是母语的数学库。你可能需要阅读,这是一个非常有趣的工具来解决你的问题。测量直线度有几种不同的方法。因为你的问题相当模糊,所以不可能说什么对你最合适 但我的建议是: 用于计算通过点的最佳拟合直线,然后计算每条点与该直线的均方距离(直线越直,结果越小)
正如@urzeit所建议的,您应该首先尽可能准确地找到这些点。在没有看到真实图片的情况下,真的没有办法给出好的建议,除非:试着让任务对你自己来说尽可能简单。例如,如果您可以将相机设置为非常短的快门时间(如果可能的话,为微秒),并同时集中激光能量,“背景”对图像亮度的贡献较小,激光光斑将只是暗背景上的亮点 测量线性应该很简单,不过“线性”只是“线性相关性”的另一个词。因此,您可以简单地计算X和Y之间的值。正如链接维基百科页面上的图片所示,相关性=1意味着所有点都在一条线上
如果你想要实际的直线,你可以简单地使用。注意:图中显示的是完全线性回归,而不是“普通”线性回归。这样做的缺点是,它没有像标准差或相关性等可靠的统计估计器那样,正确地考虑沿线点的“长度”或点的数量。@nikie True,但询问者没有提供关于这些点实际代表什么的任何具体信息,所以我们只能猜测哪种方法最有效。这正是我的观点。我们知道的不多。因此,无偏估计应该是默认选择。有偏见的估计器是有道理的,但如果没有任何知识来证明它的合理性,它将不是我的第一选择。@nikie OK,要点:-)我如何在C#中开始这些图像处理@urzeit@new:你以前用过C吗?