在 OpenCV 中识别曲线和直线对象

Posted

技术标签:

【中文标题】在 OpenCV 中识别曲线和直线对象【英文标题】:Identifying Curved and Straight Objects in OpenCV [duplicate] 【发布时间】:2017-01-09 18:58:51 【问题描述】:

我有以下图片。我的任务是检查蠕虫的形状(用矩形包围)并将它们分类为死/活——棒状(直的)是死的,弯曲的是活的。

我在源图像上使用了自适应阈值,在 Python 2.7.1 中使用 OpenCV 3.1.0 绘制了轮廓和边界矩形。什么是实现上述目标的最简单、也许是有效的方法。

(isConvex() 肯定不行:p)

【问题讨论】:

检查是否可以在每个矩形轮廓内找到Hough lines 【参考方案1】:

看看convexity defects

【讨论】:

可以在评论部分添加您的有用链接。除非您有要证明的意思,否则请不要使用答案部分。【参考方案2】:

一种方法是将轮廓(或蠕虫)的长度与边界框的对角线距离(左上角到右下角的距离)进行比较。直线的长度会比弯曲的更接近这个距离。

【讨论】:

以上是关于在 OpenCV 中识别曲线和直线对象的主要内容,如果未能解决你的问题,请参考以下文章

opencv —— approxPolyDP 生成逼近曲线

OpenCV标准霍夫直线检测详解

OpenCV实战——拟合直线

用opencv怎么读一条直线上所有点的灰度

OpenCV曲线拟合与圆拟合

opencv-霍夫直线变换与圆变换