hough-transform相关内容

用于查找曲线段的霍夫变换

霍夫变换可用于从图像中提取线条.它也可以用来提取曲线——虽然这有点困难,因为更高维的霍夫变换会消耗资源.我想知道是否如何将霍夫变换限制为 3 阶曲线的 2D 投票空间,即 x^{3}+ax^{2}+bx+c ? 任何人都知道任何解释这一点的好网站(似乎找不到任何网站).或者如果没有,请在此处解释:). 解决方案 广义霍夫变换的精髓在于,累加器的“边"就是你要找的答案.如果您尝试匹配椭 ..
发布时间:2022-01-09 18:47:39 其他开发

解释霍夫变换

我只是在冒险,迈出了迈向计算机视觉的第一步.我试图自己实现霍夫变换,但我只是不明白整个画面.我阅读了维基百科条目,甚至阅读了理查德杜达和彼得哈特的原始“使用霍夫变换检测图片中的线条和曲线",但没有帮助. 有人可以用更友好的语言向我解释吗? 解决方案 更常见的是在矩形坐标中考虑一条线,即 y = mx + b.正如维基百科文章所述,一条线也可以用极坐标表示.Hough 变换利用了这种表 ..

MATLAB 中的 Houghlines

使用霍夫线检测图像中的线条后,我如何使用它计算参考图像线条的角度变化(旋转)? 解决方案 读者注意:这是一个后续问题,背景参考这些: 如何选择最大强度在MATLAB中的霍夫变换? 在 MATLAB 中计算位移 这个过程与我之前展示的类似.下面我使用的是 您之前问题中的图片(因为你只提供了一个,我通过将第一个旋转 10 度创建了另一个). 我们首先检测两个图像的线条.我们 ..

Python/SciPy 的寻峰算法

我可以通过查找一阶导数的零交叉点或其他东西来自己编写一些东西,但这似乎是一个足够通用的函数,可以包含在标准库中.有人知道吗? 我的特定应用是二维数组,但通常用于查找 FFT 等中的峰值. 具体来说,在这类问题中,有多个强峰,然后是许多由噪声引起的较小的“峰",应该忽略不计.这些只是例子;不是我的实际数据: 一维峰值: 二维峰值: 寻峰算法将找到这些峰的位置(不仅仅是它 ..
发布时间:2021-12-31 11:46:15 Python

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

我正在尝试使用 霍夫变换来实现矩形检测,基于这篇论文. 我用Matlab编程,但是在检测平行线对和正交线对之后,我必须检测这些线对的交点.我的问题是关于霍夫空间中两条线相交的质量. 我通过求解四个方程组找到了交点.这些交点是在笛卡尔坐标空间还是极坐标空间? 解决方案 对于那些对论文感到疑惑的人,它是: 基于窗口霍夫变换的矩形检测 作者:Cláudio Rosito Jun ..
发布时间:2021-12-18 11:36:43 其他开发

Python 如何使用 OpenCV 使用 HoughLines 检测图像中的垂直和水平线?

我正在尝试获取校准棋盘的阈值.我无法直接检测棋盘角,因为我观察微型棋盘时有一些灰尘.我尝试了几种方法,HoughLinesP 似乎是最简单的方法.但结果并不好,如何改进我的结果? 将 numpy 导入为 np导入 cv2img = cv2.imread('lines.jpg')灰色 = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)边缘 = cv2.Canny(灰色,5 ..
发布时间:2021-12-10 21:21:43 Python

微调霍夫线函数参数 OpenCV

我一直试图在正方形周围绘制 4 条线,以便获得正方形的顶点.由于准确性,我将采用这种方法,而不是直接使用 Harris 或轮廓方法寻找角点.在opencv的内置函数中使用houghlines我无法获得全长线来获得交点,而且我也得到了太多不相关的线.我想知道是否可以微调参数以满足我的要求?如果是,我该怎么做?我的问题与此处的问题完全相同.但是我没有得到这些即使在更改了这些参数之后,也会自动运行.我附 ..
发布时间:2021-12-10 21:13:23 C/C++开发

在 OpenCV 中检测半圆

我正在尝试检测图像中的完整圆和半圆. 我正在遵循以下提到的程序:处理图像(包括 Canny 边缘检测).找到轮廓并将它们绘制在一个空图像上,这样我就可以消除不需要的组件(处理后的图像正是我想要的).使用 HoughCircles 检测圆.而且,这就是我得到的: 我尝试改变 HoughCircles 中的参数,但结果不一致,因为它会根据光照和图像中圆圈的位置而变化.我根据它的大小接受或拒 ..
发布时间:2021-12-10 20:12:08 其他开发

使用 OpenCV 进行水平线检测

我试图从来自“文档"的图像中找到水平线和垂直线.文档是从合同中扫描出来的页面,因此线条看起来就像您在表格或合同块中看到的一样. 我一直在尝试使用 OpenCV 来完成这项工作.OpenCV 中的 Hough 变换实现似乎对这项工作很有用,但我找不到任何参数组合可以让它干净地找到垂直线和水平线.我试过有和没有边缘检测.没运气.如果有人做过类似的事情,我很想知道如何做. 在此处查看我在 O ..

霍夫变换中的 OpenCV GPU 错误(未实现函数)

我在 CPU 上试过 Hough,它运行良好,只是有点慢.所以,我试图在 OpenCV CUDA 上运行 Hough,但它显示了这个错误,即使我有 GpuMat - OpenCV 错误:在 cv::_InputArray::getGpuMat 文件 PATH\opencv-sources\modules\core\src 中未实现函数/特性(getGpuMat 仅适用于 cuda::GpuM ..
发布时间:2021-06-12 19:48:38 C/C++开发

霍夫变换的累加器填充

我写了一段需要优化的代码.只是想与社区核实一下,看看该代码是否确实是最佳的.它填充霍夫变换的累加器.我实际上只是复制粘贴了 OpenCV 库中的大部分代码.谢谢! int i,j,n,index;for (i = 0;i 解决方案 不,不是.用简单的指针算法替换尽可能多的 [] 用法来迭代有问题的数组.将不变表达式抽象为局部变量. 然而,第一个问题是,您的分析器是否表明此代码是整个应用 ..
发布时间:2021-06-12 19:40:06 C/C++开发

如何找到检测到的霍夫线的角度?

我的目标是使用 open cv 检测骨折的骨头.我尝试了以下代码.并得到了正确的精明检测边缘.还发现了霍夫线.但现在我的工作是检测图像中的断裂点.我不明白如何进一步进行.在一些博客中,我发现我们可以确定 houghlines 的角度来检测那条线不是直线.但不知道如何在我的代码中找到 houghline 的角度.有人可以帮忙吗? 导入 cv2将 numpy 导入为 np导入数学img = cv2. ..
发布时间:2021-06-12 19:39:03 Python

在 OpenCV 中使用 inRange() 检测范围内的颜色

我正在用 OpenCV 编写一个用于月球陨石坑检测的 C++ 程序,它似乎只能准确地检测到一小部分陨石坑.我对这种方法的策略是首先将图像转换为 HSV,然后使用 inRange() 捕捉一系列值中的颜色以产生阈值,然后高斯模糊它并使用 HoughCircles() 检测圆圈. 我不完全理解的一件事是,当我给 inRange() 一个颜色的低和高阈值时,它根本不返回任何内容.只是一个黑色的图像 ..
发布时间:2021-06-12 19:38:17 C/C++开发

在二进制边缘图像中找到闭合循环的数量

我有一个带有闭环和自由曲线数量的二进制图像,如图所示. 预期输出- 解决方案 这是在Python/OpenCV中实现此目的的一种方法. 将输入读取为灰度 二进制阈值 获取轮廓和层次 遍历轮廓和相应的层次结构,并丢弃没有父级的轮廓(外部的),并保存和计数没有子级的轮廓(最内部的) 在输入上绘制轮廓 保存结果 输入: 产生的轮廓: ..
发布时间:2021-05-15 20:20:40 Python

使用霍夫变换的C ++ OpenCV三角检测

我正在寻找一些示例,该示例如何实现用于三角形检测的霍夫变换.用于符号检测.我已经完成了颜色阈值处理.您对使用 HoughLinesP()有什么看法?我正在做Canny,然后阈值化并使用HoughLines,但是结果是很多行,而且我的标志里面也有.我不认为现在找到路口将是我的解决方案. 您怎么看?有任何例子或其他想法吗?我也尝试过 findContours(),但是三角形是圆形的,因此它们需要 ..
发布时间:2021-04-30 19:34:08 C/C++开发