1.先存储背景帧到BYTE* backgrand_bitmap;
2.怎么判断光笔
采用RGB色差可快速判断有无光笔进入,当当前帧cur_bitmap的一象素与背景上对应象素的色差大于一个值(可预先设定)就判定些象素为光笔区域,并记下当前位置.
3.怎么跟踪光笔的轨迹
const int distance=10;
设定一区域CRect(m_last_pos_x-distance,m_last_pos_y- distance,m_last_pos_x+distance,m_last_pos_y+distance),
转到第二步
说明:设定一个较小的区域可减少运算量,提高跟踪的实时性,distance可适当的进行计算得到估计值.若移动速度为10cm/s,帧率为25fps,1厘米若有28象素,则distance=28*10/25,当然长度单位和象素是两个不同的单位,具体计算要根据窗口的分辩率来计算.