我正在开发一个能够检测拳击手拳击并对其进行分类的OpenCV程序。目前我的程序经历了所有不同的图像处理,查找和检测轮廓,在ROI(感兴趣区域)上绘制边界框,我还计算每个边界框的一些属性,例如:Area和Center Point。
现在我要做的是从中心点开始从每个边界框中画一条线,并分析该线的角度和长度。看一下说明我的目标的图片:
所以希望你们现在有更好的概述........
我的问题是如何从起始位置到终点位置绘制这样的线条将其存储在矢量中以进行分析......?
我对绘制线条的各种函数进行了一些研究,但是没有它们似乎适合我的目的。以下是一些研究链接:
Opencv Draw Line & Line iterator & poly lines
还看了arcLength,fitLine,clipLine&霍夫变换
有人可以告诉我哪种技术最适合我的目标......? 一些好的阅读,例子,或者只是建议如何开始这整个事情
担心希望我的问题现在已经很好理解了
答案 0 :(得分:2)
将质心逐帧存储在数组中被跟踪的对象,然后将其提供给PolyLines()函数。
答案 1 :(得分:0)
我们可以使用PolyLines:
polylines(img /*image where to plot*/, &points /*the points (centroids in your case)*/ ,&numPoint /*number of points*/,1,false /*contour is not closed shape*/, Scalar(255,255,255),3, CV_AA, 0);
- 注意必须将点定义为Mat