问题标签 [houghlines]
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.
python - Houghlines 未检测到简单矩形的顶线
我难住了。这是一个黑色背景上的简单白色矩形。Houghlines 找不到顶线。它可以找到所有其他的,只是找不到顶部。
任何人?
python - 使用 OpenCV 和 Python 检测图像中的线条
[更新最后的问题] 我正在尝试在 640x480 图像中检测简单几何形状的设计模式。我已将图像划分为 32x32 块,并检查每个形状的中心位于哪个块中。
基于此计算,我创建了一个 (160x120) 零 (float32) 的 numpy 矩阵,
col=640/4
row=480/4
每次找到形状时,都会计算中心并检查在哪个块中找到它。160x120 numpy 数组中的相应项目及其 8 个邻居设置为1。最后,160x120 numpy 数组表示为灰度图像,黑色背景和白色像素表示检测到的形状块。
左上角的图像代表 160x120 的 numpy 数组。到目前为止没有问题。
如您所见,新生成的图像在黑色前景上有一条白线。我想找到这条线的 rho,theta,x0,y0,x1,y1。所以我决定为此使用 HoughLines 转换。
对于如下:
这g_quadrants
是代表灰度图像的 160x120 矩阵,但输出cv2.HoughLines
不包含任何内容,但None
.
请帮我解决一下这个。
更新:
显示白色的黑白(np.float32 考虑灰度)图像的小窗口是我实际得到的
- 将 640x480 分成 32x32 块
- 找到图像中的三角形
- 创建一个 32x32 矩阵来映射每个块的结果
- 如果在块中找到三角形,则将相应的矩阵元素更新1
放大视图:
您可以看到有白色像素形成一条直线。这可能是一些不需要的检测。我需要消除不需要的孤立像素并重建一条连续的直线。这可以通过扩张然后侵蚀图像来实现。我需要这条线的 find x0,y0, x1,y1, rho, theta。
它们可能不止一行。在这种情况下,我需要找到关于长度的前 2 行。
python - OpenCV 的 HoughLines 以什么顺序列出 [rho,theta] 矩阵中检测到的线?
当给定的带有线条的图像被传递到 OpenCV 的 HoughLine 变换时,它会返回一个 rho 和 theta 对的列表,每对定义一条单独的线。在这个 rho,theta 对列表中列出的行的顺序是什么。
例如,当这个 8 行的 图像在 python 中使用时,8 行的图像
接下来,为八行返回 rho,theta 矩阵。
在这个矩阵中列出的行的顺序是如何由 openCV 确定的?
python-3.x - cv2.HoughLinesP() 返回的值是什么意思?
我正在使用此代码来检测 PNG 图像中的线条,并且该函数返回一个 numpy 数组:
我想知道这些值的含义,以便获得检测到的线的长度和方向。
*使用的图像仅包含一条水平线。
python - Houghlines中的笛卡尔坐标
为什么我们不能在 Houghlines 变换中使用笛卡尔坐标 (x,y) 而不是极坐标 (r,theta) ?任何人都可以澄清吗?
c++ - 如何从 OpenCV C++ 中的 HoughLines 函数输出中绘制所需的线?
语境 :
本讲座的第 8 页说 OpenCV HoughLines函数返回一个 N x 2 线参数rho和theta数组,该数组存储在名为lines的数组中。
然后为了从这些角度实际创建线,我们有一些公式,稍后我们使用线函数。这些公式在下面的代码中进行了解释。
代码 :
输入图像:
观察1:
观察 2:
问题:
在上面显示的代码中,如果我们将数字与 a、-a、b 和 -b 相乘,我们会得到不同长度的行。当我乘以 200 而不是 1000(导致观察 1)时,得到了观察 2。
有关更多信息,请参阅上面显示的代码第 18 行和第 19 行中的注释。
问题:
当我们从 HoughLines 输出中绘制线条时,我们如何控制线条的起点和终点?
例如,我希望观察 2 中的右车道(从左上角指向右下角的红线)从屏幕的右下角开始并指向屏幕的左上角(就像左车道的镜像)。
image-processing - 匹配同一图像中的线条
我在同一张图像中使用霍夫变换来获得相同图像的更多行。现在我想匹配这些行,最后有几行标识我的目标。