问题标签 [straight-line-detection]
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 - 从二维二进制矩阵中提取直线
我想从二维二进制矩阵中提取直线。
我会找到按邻居坐标分组的 1。
在附图中,有一个 256x128 的二进制矩阵。
可以从给定的示例中提取 4 条直线。
在找到所有分组的 1 之后,我想要一个包含 2 个边缘坐标的向量 [x1,y1,x2,y2]。在给定的示例中,当然应该有 4 个向量。
他们没有机会交叉自己。
矩阵总是包含类似于直线的形状。
语言无关紧要,最好是 Python 代码。
我尝试使用 numpy 和 scipy.spatial.distance 库来创建解决方案但失败了。
我应该使用哪些技术,或者我应该研究哪些库/函数?
提前致谢。
python - HoughLinesPointSet() 返回空的 _lines 对象
我目前正在学习 OpenCV 和 AI 对象检测。对于我的小项目,我想用一条线连接 bbox 的中间点以创建一些模式。为此,我尝试使用 HoughLinesPointSet() 函数,但在我的测试代码中,它返回一个空的“行”对象。源代码:
结果:
有人有这方面的经验吗?任何帮助将不胜感激。
python - 用于直线形点模式识别的霍夫变换算法
大家好,我目前正在研究不同的算法,这些算法可以为我提供对齐单元格组内的直线模式。
让我解释:
假设我们有一个 XY 平面,它是 200(x)/30(y)。
我得到了一堆标记单元格中心的点(在 xy 坐标中),我的任务是获得通过这些单元格形成直线的点的模式。
模式必须是一组 8 个点:[[point1],[point2],[point3],...[point8]] 或一组 4 个(如果没有可配对的组)。
直线只能有 -50º 到 50º 的梯度。
例如:
命中的 Y 坐标:
命中的 X 坐标:
点将是 [77.7,0.65],[107.1,0.65]
...等
所以我的第一个想法是实现某种霍夫变换,它会给我一个累加器,其中包含更多“票”的点的 rho 和 theta 值。
这是代码:
这段代码给了我一个累加器数组,其中包含列表中每个点的 senoids。这些点相交的地方是每组点的直线梯度相同的地方。
问题是:如您所见,点并不能形成精确的直线。它们排列在 xy 平面上几乎对齐但不完全对齐,这就是为什么您可以在累加器中看到各种高票点,而不是每 2 组点中只有一个。
因此,当我以这样的图形方式看到它时,我可以想象这种模式:
我很想找到一些改进这个累加器的方法,也许是改变阈值的一些方法,所以在累加器中,每组点都被视为一个大点(我不知道我是否解释得很好)就像你是个孩子,把点变大了,这样线就可以适应了。
考虑到每组 4 个点,就像它们完全对齐一样,将直线的精度降低到程序点的某种方法当然会导致在累加器中只有一个“投票最多”(RHO,THETA)点数组,然后我将能够提取其坐标并轻松创建模式。
有什么办法可以改善这一点吗?也许我应该尝试其他类型的算法作为点和直线的模式识别器?
PD:对不起,如果我没有正确解释自己。
python - 如何检测颗粒状线条?
我正在尝试使用 cv2 检测纸张上的颗粒状打印线。我需要线条的角度。我在图像处理方面没有太多知识,我只需要检测线。我尝试使用参数,但总是检测到角度错误。有人可以帮助我。这是我的代码:
colors - 使用openCV在模糊颜色边界处画一条直线
我有很多 ML 输出彩色像素图像要处理。我希望openCV能够识别出这些图片的颜色边界(它们目前是模糊的),并绘制一条水平和垂直的线来表示这些边界。对不起,我刚刚使用了这个网站,我无法粘贴图片。
python - 我使用opencv python形式将模拟时钟转换为小时和分钟的数字数据,但我也需要它显示几秒钟
我已经使用 opencv 读取图像,将其转换为灰度,并使用 canny、kernel、thesh、erode 等找到边缘,并且我使用 HooughLineP() 检测到图像中的所有线条,并且我检测到了小时数和分针,但我还需要找到秒针,这是我使用过的代码
我已经在上面的代码行中分开了分针和时针,但我也需要分开秒针,请任何人帮助我!