光笔笔迹跟踪算法

    技术2022-05-11  7

    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,当然长度单位和象素是两个不同的单位,具体计算要根据窗口的分辩率来计算.


    最新回复(0)