边缘检测后获取边缘坐标(Canny)
Posted
技术标签:
【中文标题】边缘检测后获取边缘坐标(Canny)【英文标题】:Get edge co-ordinates after edge detection (Canny) 【发布时间】:2011-04-29 06:42:01 【问题描述】:我使用 OpenCV 的时间很短,对图像进行了 Canny 边缘检测,之后还进行了膨胀以进一步将对象(在我的情况下为正方形)与背景分离。
我现在的问题是使用一种算法来识别 2D 中的可抓取区域,该算法需要我处理这些边缘中点的坐标。有什么方法可以使用 OpenCV 来获取角的坐标,这样我就可以找到形成正方形边缘的线的方程?我知道正方形的大小。我的问题涉及二维坐标几何,因此需要坐标。
如果需要,我可以提供边缘检测和膨胀后的图像。帮助将不胜感激。
【问题讨论】:
【参考方案1】:仅提供第二种方法 - 不保证有效。
第一步:提取连通分量及其轮廓。这可以在 Canny 边缘检测步骤之后应用。 FindContours 第 2 步:如果轮廓非常接近正方形,则可以直接使用它们的边界框。 BoundingRect - 如果矩形总是直立(不旋转) MinAreaRect - 如果矩形被旋转。免责声明的原因是它只适用于非常干净的结果,Canny 边缘没有任何破损的边缘或间隙等。如果您需要更强大的查找矩形的方法,Hough transform 将是必要的。
【讨论】:
【参考方案2】:您可以使用 OpenCV 中提供的角点检测器,例如 Harris 或角点特征值。 Here's 一个完整的代码示例。
如果其他功能也出现问题,您可能需要进行连接组件分析。
【讨论】:
以上是关于边缘检测后获取边缘坐标(Canny)的主要内容,如果未能解决你的问题,请参考以下文章