您的位置:首页 > 其它

通过手机摄像头实现动作追踪一----单帧的识别 .

2012-07-31 14:00 267 查看
 

 

本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处!
      最近有空,继续写点关于计算机视觉的文章,纯属业余新手的自娱自乐。。。

      以前讲过了如何用Aforge实现多点动作追踪(基于Aforge的手势识别之三~~~多点手势识别),不过是在PC平台上实现的,以前也实现了在WM/Wince上的Opencv库移植,所以这次就尝试在WM/Wince平台上实现动作追踪,代码改自Opencv内置的camshiftdemo.c例子。

      本文先实现camshift的单帧识别,本文的代码可以到这里下载:http://www.rayfile.com/zh-cn/files/284d11ca-c1fc-11df-9ae4-0015c55db73d/,代码运行截图:



选中图片中绿色部分,程序自动用红框圈出识别出来的部分。

 

接下来说说程序的原理:
1.计算被跟踪目标的色彩直方图,在HSV中分离出HUE

2.使用HUE建立被追踪颜色的直方图,并产生反向投影图空间

3.反向投影图空间中使用mask凸显追踪颜色

4.搜索并计算出追踪颜色部分的范围

 

接下贴出在PC上运行单帧识别程序的各种运算结果,可以帮助理解代码的原理:

 


 把原图通过RGB
to HSV之后的结果


 通过HSV中分离出的HUE


 通过HUE建立的直方图,统计选中颜色(原图中选中的是绿色)

 


对Hue图像做直方图反向投影,然后做掩膜处理得到想要的部分


使用cvCamShift搜索出掩膜处理后凸显的部分,并计算出范围。

 

 

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: