(3)Kalman:对运动目标进行滤波。源:自*751~·论,文'网·www.751com.cn/
(4)Age:运动目标所处于的帧数需要及时刷新,所以我们需要记录并刷新帧数,使得运动目标的运动在每一帧上的显示更加一目了然。
(5) totalvisiblecount :总帧数的轨道;对于整个视频,需要进行分析它的所有的帧数,在后期的检测中才能运算出每一帧的变化情况。
(6)Consecutiveinvisiblecount:未检测到的连续帧数;由于不是每一帧都能够有目标的运动,所以我们需要对于这些帧数进行分析与统计。
整个结构体主要就是包括以上六个部分,对于目标的定位需要考虑还有很多,初始的判断位置可能出现的位置以及对于没有用的信息排除也显得很重要,噪声的干扰会导致一些被已经检测出来的运动目标会很快取消,由于这个原因,我们需要进行滤波处理,在进行目标跟踪的时候,如果发生缺失,我们则需要进行读取下一帧的视频。
2.2.2目标编号
每一个运动目标检测成功以后,我们需要进行对运动目标进行编号,默认从1开始,依次累加。
2.2.3读取视频,开始检测、跟踪
函数detectobjects负责检测视频每一帧中的运动目标,当然也可以进行返回二进制掩码,大小和输入框中的一样。当像素值为1时,归于钱检测面板,像素值为0时,归于背景模块,这样可以很好地区分运动目标的特征,包括形状,质心等。这也就使得前面板模块可以分割运动,从而使得检测运动目标更加有效。然后执行形态运算生成的二进制掩膜去除噪声点和填补剩余的斑点的孔。
当检测完成以后,我们需要进行BLOB分析,完成组件的连接工作。这样,在显示框中就可以显示完整的人运动,而不是每一个分块的运动。BLOB分析在整个检测目标中是最后一步,但是也是很重要的一个步骤,因为这个可以直接影响到整个显示运动目标的效果,对后续的运动目标运动的分析也显得十分重要。