通过手机摄像头实现动作追踪一----单帧的识别
2012-05-25 14:11
351 查看
本文来自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/,代码运行截图:
![](http://hi.csdn.net/attachment/201009/17/0_12846901969Bdz.gif)
选中图片中绿色部分,程序自动用红框圈出识别出来的部分。
接下来说说程序的原理:
1.计算被跟踪目标的色彩直方图,在HSV中分离出HUE
2.使用HUE建立被追踪颜色的直方图,并产生反向投影图空间
3.反向投影图空间中使用mask凸显追踪颜色
4.搜索并计算出追踪颜色部分的范围
接下贴出在PC上运行单帧识别程序的各种运算结果,可以帮助理解代码的原理:
![](http://hi.csdn.net/attachment/201009/17/0_1284690623u0jf.gif)
把原图通过RGB
to HSV之后的结果
![](http://hi.csdn.net/attachment/201009/17/0_1284690662A155.gif)
通过HSV中分离出的HUE
![](http://hi.csdn.net/attachment/201009/17/0_1284690883wG62.gif)
通过HUE建立的直方图,统计选中颜色(原图中选中的是绿色)
![](http://hi.csdn.net/attachment/201009/17/0_12846910629J9w.gif)
对Hue图像做直方图反向投影,然后做掩膜处理得到想要的部分
![](http://hi.csdn.net/attachment/201009/17/0_1284691372774Z.gif)
使用cvCamShift搜索出掩膜处理后凸显的部分,并计算出范围。
,引用必须注明出处!
最近有空,继续写点关于计算机视觉的文章,纯属业余新手的自娱自乐。。。
以前讲过了如何用Aforge实现多点动作追踪(基于Aforge的手势识别之三~~~多点手势识别),不过是在PC平台上实现的,以前也实现了在WM/Wince上的Opencv库移植,所以这次就尝试在WM/Wince平台上实现动作追踪,代码改自Opencv内置的camshiftdemo.c例子。
本文先实现camshift的单帧识别,本文的代码可以到这里下载:http://www.rayfile.com/zh-cn/files/284d11ca-c1fc-11df-9ae4-0015c55db73d/,代码运行截图:
![](http://hi.csdn.net/attachment/201009/17/0_12846901969Bdz.gif)
选中图片中绿色部分,程序自动用红框圈出识别出来的部分。
接下来说说程序的原理:
1.计算被跟踪目标的色彩直方图,在HSV中分离出HUE
2.使用HUE建立被追踪颜色的直方图,并产生反向投影图空间
3.反向投影图空间中使用mask凸显追踪颜色
4.搜索并计算出追踪颜色部分的范围
接下贴出在PC上运行单帧识别程序的各种运算结果,可以帮助理解代码的原理:
![](http://hi.csdn.net/attachment/201009/17/0_1284690623u0jf.gif)
把原图通过RGB
to HSV之后的结果
![](http://hi.csdn.net/attachment/201009/17/0_1284690662A155.gif)
通过HSV中分离出的HUE
![](http://hi.csdn.net/attachment/201009/17/0_1284690883wG62.gif)
通过HUE建立的直方图,统计选中颜色(原图中选中的是绿色)
![](http://hi.csdn.net/attachment/201009/17/0_12846910629J9w.gif)
对Hue图像做直方图反向投影,然后做掩膜处理得到想要的部分
![](http://hi.csdn.net/attachment/201009/17/0_1284691372774Z.gif)
使用cvCamShift搜索出掩膜处理后凸显的部分,并计算出范围。
相关文章推荐
- 通过手机摄像头实现动作追踪一----单帧的识别
- 通过手机摄像头实现动作追踪一----单帧的识别
- 通过手机摄像头实现动作追踪一----单帧的识别 .
- IOS关于从照相机获取图片的问题 初步探究通过摄像头实现颜色与形状识别机制
- android 通过wifi 热点实现手机摄像头数据共享
- 通过Xposed框架实现禁用手机录音摄像头功能(hook android 底层实现)
- IOS关于从照相机获取图片的问题,初步探究通过摄像头实现颜色与形状识别机制==
- 通过浏览器的User-Agent实现手机版和电脑版的自动识别切换
- 囧,还可以这样玩,通过GPS实现定位手机号所在位置的系统
- 手机网页h5实现介绍页,支持手势识别。
- 树莓派(Debian系统)通过usb摄像头扫描识别QR二维码
- Android手机客户端通过JSP实现与Tomcat服务器端通信(Msql数据库,Json作为载体)--服务端代码
- 通过slf4j/log4j的MDC/NDC 实现日志追踪
- Android开发之通过蓝牙耳机实现讯飞语音识别的功能
- 如何通过OpenFace实现人脸识别框架
- Kinect2.0 挥手动作的识别(C++实现)
- cc2640 基于官方从机修改的通过手机实现蓝牙点灯例程
- 通过ContentProvider实现获取手机中的短息内容
- tensorflow在android上的实现,可以实时识别摄像头里的物体