gpt4 book ai didi

opencv - 如何在特定角度范围内执行霍夫变换

转载 作者:行者123 更新时间:2023-12-02 17:46:11 25 4
gpt4 key购买 nike

我一直在尝试检测和跟踪视频流中的车辆。最近,我决定实现一种硬编码方法,该方法可以找出车辆的阴影并根据轮胎位置检测整个车辆。最后,我部分完成了我的实现。这是示范的video link

第一步,我使用Canny边缘检测器减去视频帧的边缘。

enter image description here

然后,我在opencv中使用了hough变换函数。

enter image description here

但是,此功能可以找到所有水平线和垂直线,而我只对可能是车辆阴影的水平线感兴趣。

enter image description here

我的问题是如何使用霍夫线变换功能,该功能仅检查在特定 Angular 范围内和特定范围内的线。是否有任何 Angular 参数?还是我应该自己实现该功能?

最佳答案

由于在Canny运算之后最终会得到二进制图像,因此在应用霍夫变换之前,使用简单的水平Prewitt运算符将图像卷积可能是最简单的:

 1    1    1
0 0 0
-1 -1 -1

这将为您提供每个像素的灰度强度图,水平边缘的像素给出最强的信号。仅使用水平运算符的优点是垂直边缘不接收任何放大,水平边缘接收最大的放大,并且在水平线45度以内的任何边缘都应在两者之间的某个位置发出信号。当您将检测边缘应用于原始图像时,可以使用结果图像来确定保留Canny掩模中的哪些像素:如果Prewitt信号高于某个像素的某个阈值,则假定该像素沿“水平”方向。保留足够的边缘,否则丢弃。我相信opencv具有此功能,但如果没有,则实现起来很简单。

关于opencv - 如何在特定角度范围内执行霍夫变换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34969676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com