我正在使用OpenCV Python在一个小四边形上进行对象检测以避免碰撞。首先,我需要使用Optical Flow Pyramid (LK)
(OpenCV)方法检测对象。我能够跟踪图像ROI上的点,如图 points tracked using opticalflow lk pyr
我需要创建一个边界框或封闭的convexHull
或一些多边形形状,如下所示,以显示这些是检测到的对象red lines are which I drew 。忽略孤立的点,只能取彼此有一定距离的点。在
如果有人能帮我或提供你的想法,那将是有用的。 如果我的问题不是很精确或是很大,请让我知道
若要获取边界框,请围绕p1(x_min,y_min)和p2(x_max,y_max)绘制一个矩形,其中x_min/max和y_min/max表示点簇的最小和最大x和y坐标。在
所以,既然你已经有了你的点,第一步就是形成一个接近点的簇,并去掉离群值。在
请研究聚类分析找出如何做到这一点。我不愿意在这里写书。https://en.wikipedia.org/wiki/Cluster_analysis可能会给你第一个想法。在
您可以通过遍历集群标签来获得最小和最大的x,y值。然后用这4个点为每个簇绘制矩形。 下面的代码将帮助您。在
相关问题 更多 >
编程相关推荐