使用Opencv/c++在Stream中的两点之间绘制aline
draw aline between two points in Stream using Opencv /c++
我快疯了。。。我想在上一帧的(center.x和center.y)和当前帧的(center.x和centre.y)之间画一条线。。。
for(int j=0; j<Frames; j++){
for( size_t i = 0; i < circles.size(); i++ ){
Point center(cvRound(circles[i][0]), cvRound(circles[i][1]));
cout << "center" << center.x << ", " << center.y << endl;
Vector.push_back(std::make_pair(center.x,center.y));
int radius = cvRound(circles[i][2]);
circle( dis, center, 3, 1 , -1, 8, 0 );
circle( dis, center, radius, 1 , 3, 8, 0 );
cv::Point2i p1(center.x, center.y);
}
}
cv::Mat base(100, 100, CV_32F);
cv::Point2i p2(center.x, center.y); //for the previous frame
cv::line(base, p1, p2, cv::Scalar(1.0), 1, CV_AA); // CV_AA == Anti-aliased flag
当代码第一次运行时,p1将为当前帧生成!但我不知道如何将其保存在缓冲区中以保持它,然后当代码第二次运行时,在这两点之间画一条线。
提前谢谢。。
如果您声明一个cv::Point global:
cv::Point prevCenter;
并将其设置在您的循环中
prevCenter.x = center.x;
prevCenter.y = center.y;
如果你在j的循环中添加cv::line语句(现在,它在循环之外),你应该能够用它来画线
if (j > 0)
{
cv::line(base, center, prevCenter, cv::Scalar(1.0), 1, CV_AA);
}
相关文章:
- C++中std::resize(n)和std::shrink_to_fit之间的区别
- int(c) 和 c-'0' 之间的区别。C++
- 在cuda线程之间共享大量常量数据
- 在c代码之间共享数据的最佳方式
- Mix_Init和Mix_OpenAudio SDL之间的区别是什么
- C++ 使用 assign 函数的字符串与直接使用 '=' 更改值的字符串之间的区别
- VSOMEIP-2个设备之间的通信(TCP/UDP)不工作
- 用C++程序计算圆锥体的体积、球体的体积、八边形的面积和两点之间的距离
- 找到两点之间的中点
- 在C++中计算两点之间的角度,得到了奇怪的结果
- 使用Opencv/c++在Stream中的两点之间绘制aline
- 如何知道数组中两点之间的单元格数
- 如何有效地计算两点之间的角度
- 如何使用两点和步骤 c++ 之间的元素初始化向量
- 查找二维数组中两点之间的距离
- 尝试在c++中找到(x,y)坐标系中两点之间的最短路径.误差11db
- C++检测两点之间的碰撞,并在发生碰撞时从法线上反弹
- 复杂性理论-c++中两点之间的最小距离
- 我怎么做两点之间的碰撞检查呢?(c++)
- 查找两点之间的距离