opencv - OpenCV中最基本的直线检测方法是什么

标签 opencv computer-vision line detection vision

我刚学OpenCV,有一个关于直线检测的问题。我有一种情况需要检测白色背景上的水平黑线。我保证这条线总是水平显示(在几度内)并且需要检测它在相机图像中的位置。

我的想法是,因为它总是水平的,我可以通过图像上的几列垂直搜索“边缘”,并称其为好。甚至可以缩小我从相机捕获的像素数量,以额外提高速度。

是否有用于这种类型的线检测的内置函数?

我不需要额外的力量,也负担不起Canny或Hough的处理时间,我只想尽快找到一条有保证的水平线。

图像(我的解决方案正在运行)如下所示:

Left is thresholded image, right is solution running. Green bars are horizontal edges, red mark the tape strips I'm interested in tracking.

最佳答案

如果您提供您所谈论的图像类型,那么建议解决方案会更好。

我还想知道,为什么您不能使用计算成本不高的 Canny Detector。此外,您还可以降低图像、计算边缘和过滤水平边缘。

另一方面,知道你的水平边缘在图像平面上总是水平的,你可以使用模板匹配。

关于opencv - OpenCV中最基本的直线检测方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36380862/

相关文章:

python - 如何使用 Opencv 和 Python 检测图像中的白色区域?

c++ - 如何使用 opencv 中的 UpdateMotionhistory 函数修复此错误?

c - 框模糊边缘遇到问题

reporting-services - SSRS 2008R2。图表线条不使用抗锯齿功能

Java:我将如何以 45 度或 0 度等以外的角度绘制一条线?

c++ - OpenCV - 从相机设备获取像素数据

c++ - Opencv 2.4.12_2 calcOpticalFlowPyrLK() 错误

c++ - DirectX 屏幕捕获和输出为视频

opencv - 多个单 channel 矩阵转换为单个多 channel 矩阵

azure - 如何在 Azure 的日志查询编辑器中启用行号?