摄像头方案设计
- 功能介绍
- 初始化模式采用霍夫圆检测模式,寻求画面内符合条件的最佳圆形;
- 按下功能按键1(该程序设计为‘R’)选定当前圆所在的矩形范围为感兴趣区域;
- 采用camshift方式进入图形描边模式;
- 按下功能键2(该程序设计为‘a’)停止记录小球运动轨迹;
- 调用预处理模式,并返回容器储存的一系列坐标点。
- 思路分析
- 调用VideoCapture video(0),打开本机摄像头;
- 采用标志位的方式判定当前状态(ROI选择模式/轨迹记录模式),其中标志位判定为0时进入ROI选择模式,为1时进入轨迹模式,为其他值时退出循环:
- ROI选择模式:调用HoughCircles检测圆(pretreat),并以圆心为矩阵中心,直径为矩形的长和宽进行区域选定,同时完成ROI区域的calchist计算,为记录模式做准备;
- 轨迹记录模式:利用camshift算法(对当前页面进行直方图统计,获取最接近的ROI模式中直方图统计的区域)进行当前画面上目标的轨迹跟踪,并调用line函数在黑色背景上进行轨迹记录。
- 调用waitKey判断功能按键‘a’是否按下,若按下则在销毁实时显示窗口,并进行后续预处理操作.
- 代码介绍
bool video_record(std::vector<cv::Point2i> &p