问题标签 [hough-transform]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
36875 浏览

image-processing - 使用霍夫变换进行矩形检测

基于 this paper ,我正在尝试使用霍夫变换实现矩形检测。

我使用Matlab编程,但是在检测到平行线对和正交对之后,我必须检测这些对的交集。我的问题是关于霍夫空间中两条线交点的质量。

我通过求解四个方程组找到了交点。这些交点是否位于笛卡尔或极坐标空间中?

0 投票
1 回答
6655 浏览

c# - 霍夫变换问题

我以这种方式在 C# 中实现了霍夫变换:

所以,据我了解,我现在已经找到了所有曲线相交点的 theta 和半径。那我怎么才能找到真线呢?

有人声称我需要找到斜率和一个点,但我现在真的不清楚该做什么。

谢谢你的帮助,乔纳森

0 投票
9 回答
176924 浏览

python - Python/SciPy 的寻峰算法

我可以通过查找一阶导数的过零或其他东西来自己编写一些东西,但这似乎是一个足够通用的函数,可以包含在标准库中。有人知道吗?

我的特定应用是二维数组,但通常它会用于在 FFT 等中查找峰值。

具体来说,在这类问题中,有多个强峰,然后是许多较小的“峰”,这些“峰”只是由噪声引起的,应该忽略。这些只是例子;不是我的实际数据:

一维峰:

带峰值的 FFT 输出

二维峰:

带圆圈峰值的氡变换输出

寻峰算法会找到这些峰值的位置(不仅仅是它们的值),并且理想情况下会找到真正的样本间峰值,而不仅仅是具有最大值的索引,可能使用二次插值或其他方法。

通常,您只关心几个强峰,因此选择它们要么是因为它们高于某个阈值,要么是因为它们是按幅度排序的有序列表的前n 个峰。

正如我所说,我知道如何自己写这样的东西。我只是想问一下是否有一个已知运行良好的预先存在的功能或包。

更新:

翻译了一个 MATLAB 脚本,它适用于一维案例,但可能会更好。

更新更新:

Sixtenbe为一维案例创建了一个更好的版本

0 投票
1 回答
5146 浏览

matlab - 如何在 MATLAB 的霍夫变换中选择最大强度?

MATLAB中进行霍夫变换后,如何选择线条以便在两个或多个图像之间进行比较?

我遵循了 Amro 给出的示例,实际上我想要检测的是第一张图片中的两条线。但是,我得到的是第二张图片中的那个。我怎样才能做到这一点?

替代文字

替代文字

0 投票
2 回答
3883 浏览

opencv - 如何计算 OpenCV 中的行数(Hough Trasnform)

我成功地将图像中的发丝检测为线条。我看到输出图像将每根头发检测为线。我使用cvHoughLines2()with 方法参数 as CV_HOUGH_PROBABILISTIC

现在我想数一下这些行。输出图像在每根头发上显示 1 或 2 条线。我看到每条线都由小线段组成。所以很难直接得到他们的总数。对此有何建议?

谢谢, 普拉迪普

0 投票
2 回答
5376 浏览

matlab - MATLAB 中的 Houghlines

使用霍夫线检测图像中的线条后,如何使用它来计算参考图像线条的角度(旋转)变化?

0 投票
3 回答
6376 浏览

image-processing - OpenCV中虹膜检测的霍夫变换

我编写了霍夫变换的代码,效果很好。我还可以裁剪脸部的眼睛位置。现在我想通过应用霍夫变换(cvHoughCircle)来检测裁剪图像的虹膜。但是,当我尝试此过程时,系统无法在图像上找到任何圆圈。

也许,原因是图像中有噪音,但我认为不是原因。那么,如何检测虹膜呢?我有二进制阈值的代码也许我可以使用它,但我不知道该怎么做?

如果有人帮助我真的很感激。谢谢 :)

0 投票
3 回答
4669 浏览

python - OpenCV Python HoughCircles错误

我正在开发一个检测图像中圆形的程序。我认为霍夫变换是最好的,我在 OpenCV 库中找到了一个。问题是当我尝试使用它时,我得到一个我不知道如何修复的错误。Python 的 OpenCV 是否没有完全实现?程序运行所需的库是否有修复?

这是代码:

这是我得到的错误:

OpenCV 错误:未知函数中的 Null pinter (),文件 ..\..\..\..\ocv\openc\src\cxcore\cxdatastructs.cpp,第 408 行 Traceback(最近一次调用最后一次):文件“ellipse-检测-webcam.py",第 20 行,在 cv.HoughCircles(edges, storage, cv.CV_HOUGH_GRADIENT, 2, gray.height/4, 200, 100) cv.error

在此先感谢您的帮助。

0 投票
2 回答
395 浏览

c++ - 代码背后的逻辑

谁能解释一下这段代码背后的逻辑?

0 投票
3 回答
4946 浏览

opencv - 在 OpenCV 中搜索具有小角度范围的线

我在 OpenCV 中使用霍夫变换来检测线条。但是,我事先知道我只需要在非常有限的角度范围内(大约 10 度左右)内的线条。我在对性能非常敏感的设置中执行此操作,因此我想避免在检测其他角度的线条上花费额外的工作,这些线条我事先知道我不关心。

我可以从 OpenCV 中提取 Hough 源代码,然后将其破解以获取 min_rho 和 max_rho 参数,但我想要一种不那么脆弱的方法(必须手动更新我的代码,每次 OpenCV 更新等)。

这里最好的方法是什么?