如何使用Python创建可引导的边缘检测过滤器或丢弃不符合所需角度的边缘
我知道如何使用OpenCV进行基本的Canny边缘检测。但是,我需要丢弃所有不在预定角度15度范围内的边如何使用Python创建可引导的边缘检测过滤器或丢弃不符合所需角度的边缘,python,opencv,canny-operator,Python,Opencv,Canny Operator,我知道如何使用OpenCV进行基本的Canny边缘检测。但是,我需要丢弃所有不在预定角度15度范围内的边 任何帮助都将不胜感激。这是一个老问题,但以下是您应该使用的流程 1] 首先过滤源图像背景减法/颜色/等等 2] 应用一个通用的边缘检测器或一个可控制的过滤器,或者如果你想得到一些非常好的结果&你是为了研究目的而这样做的,寻找 3] 将这些行保存在一个向量中 4] 创建一个圆的绘制算法是这里的主要思想 圆绘制算法CDA将进一步获取边过滤器返回的每个点 对于每个点,它将根据同一直线上两个点可接受
任何帮助都将不胜感激。这是一个老问题,但以下是您应该使用的流程 1] 首先过滤源图像背景减法/颜色/等等 2] 应用一个通用的边缘检测器或一个可控制的过滤器,或者如果你想得到一些非常好的结果&你是为了研究目的而这样做的,寻找 3] 将这些行保存在一个向量中 4] 创建一个圆的绘制算法是这里的主要思想 圆绘制算法CDA将进一步获取边过滤器返回的每个点 对于每个点,它将根据同一直线上两个点可接受的最大/最小距离,构建直径可变的圆[Dmin;Dmax] 如果在与角度对应的圆八分之一中没有下一个像素,只需将其忽略即可 一旦你们有了和你们的角度相匹配的线条,你们就可以按长度对它们进行排序,以消除可能由于噪音而产生的线条 您还应注意,还有其他方法,此方法是一个很好的方面: 1-对噪音和低质量图像/视频的鲁棒性 2-其CUDA兼容,即易于推入并行处理 3-其速度快且大致比大多数基线检测器更准确