opencv - 仅检测二值图像中的垂直线
问题描述
我正在处理一些二进制图像,我想在其中找到二进制图像的边界线。因此,作为示例,这是一个输入图像:
我所做的是使用边缘检测和线检测霍夫变换来从图像中获取边界。所以我要做的是:
edges = cv2.Canny(img, 100, 200)
lines = cv2.HoughLinesP(edges, rho=1.0, theta=np.pi/180, threshold=2)
现在绘制这些线会产生以下图像:
但是,我想要做的是只检测垂直线,即图像中“向上”的线。我想我必须操纵霍夫变换参数,但找不到只返回垂直线的组合。
解决方案
推荐阅读
- asp.net-core - 带有 Sustainsys Saml2 的 ASP.NET 身份 - 如何保留 ExternalLoginInfo 声明?
- elasticsearch - 需要一个 Elasticsearch 查询,将结果限制为在一个字段中具有相同值但在另一个字段中具有不同值的结果
- scala - 如何多次重复等待?
- c - 为什么在将整数读入 C 中的数组时出现分段错误?
- module - 从外部文件使用 Fortran 模块
- typescript - 如何知道何时创建接口与直接在 Typescript 的函数签名中定义对象?
- c# - PowerPoint 通过 VBA 或 C# 更改墨水颜色(或活动笔)
- java - spring web 和 spring 批处理兼容性?
- r - 如何识别和删除我不想要的曲线?
- matplotlib - set_xlim() 不适用于文本标签