将某些点绘制为视频/ c ++的跟踪轨迹

时间:2013-12-04 09:17:43

标签: c++ opencv video-processing

我有一个pair-value向量,它包含一些点的坐标。

Coordinates.push_back(std::make_pair(row,col));

我想用不同的颜色实时绘制它们。

Opencv中的这个“cvPoint函数”值不接受任何向量作为绘图输入。

我应该找到另一个库来实现吗?

我是新手,并提前致谢..

1 个答案:

答案 0 :(得分:0)

您可以使用函数polylines.将OpenCV用于此目的。此函数绘制一个存储在向量中的一组点(cv :: Points)后面的一条线。这是一个例子:

std::vector<cv::Point> trajectoryPoints; /* Vector with coordinates */

(...) /* Here you fill your vector */

const cv::Point *pts = (const cv::Point*) Mat(trajectoryPoints).data;
int npts = Mat(trajectoryPoints).rows;

polylines(yourImage, &pts,&npts, 1, false, cv::Scalar(0, 0, 255), 10, CV_AA, 0); 

此代码在“yourImage”中绘制定义为数组中一组点的轨迹。请查看the documentation以了解参数。