HardBirch

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

时间:10-09-17 栏目:安卓入门与提高 作者:张飞不张,文采横飞 评论:11 点击: 4,153 次

      以前讲过了如何用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搜索出掩膜处理后凸显的部分,并计算出范围。

通过手机摄像头实现动作追踪一—-单帧的识别:目前有11 条留言

  1. 11楼
    relijin:

    [e01]

    2010-09-27 14:36 [回复]
  2. 10楼
    bluesky139:

    看了你的两篇把opencv移到wince的文章,感觉很不错,我现在也刚学这个,也是要把opencv用到wince上,我想问个问题:比如我使用canny边缘检测,但是首先要使用cvLoadImage,但是在wince下使用不了cvLoadImage,这个怎么办?

    2010-10-15 15:45 [回复]
  3. 9楼
    hellogv:

    回复 bluesky139:
    自己实现读取图片,然后转换为IplImage类型:
    http://blog.csdn.net/hellogv/archive/2010/07/09/5722522.aspx

    2010-10-15 19:02 [回复]
  4. 8楼
    bluesky139:

    按照你的做法,我读取了图片,转成了IplImage类型,然后怎样把图像转为灰度图?又怎样保存图像呢?

    2010-10-16 16:18 [回复]
  5. 7楼
    hellogv:

    回复 bluesky139:
    用opencv内置的函数可以转为灰度图,再用DIBSectionCE就可以把IplImage中的二进制数组保存为位图了。

    2010-10-16 16:33 [回复]
  6. 6楼
    bluesky139:

    谢谢你的回复,我找到转成灰度图的函数了,保存的我再去试试。
    另一个问题,那怎么加载jpg的图片呢?

    2010-10-16 16:59 [回复]
  7. 5楼
    hellogv:

    回复 bluesky139:
    JPG图片要自己找解码库来装载

    2010-10-16 22:14 [回复]
  8. 4楼
    bluesky139:

    请问打开视频文件的cvCapture能不能用其它什么方法代替,我想把视频一帧一帧提取出来处理,但是cvCapture在wince下不能使用。

    2010-10-18 20:43 [回复]
  9. 地板
    zhuyifan2010:

    你好,我试过opencv里面的camshiftdemo,好像他跟踪得不是很好啊。我看了你的代码,你是直接用他的示例代码,不过为啥你的效果比他好啊?

    2010-12-30 20:49 [回复]
  10. 板凳
    lxlllyp:

    楼主 非常感谢您贡献出这么多有用的东西供大家学习进步,我想问一下 您CE底下视频帧的获取cvCapture 是如何实现的 有什么简单易行的方法没有

    2012-08-01 11:43 [回复]
  11. 沙发
    hellogv:

    [reply]lxlllyp[/reply]
    不玩CE很久了,现在玩android

    2012-08-01 21:49 [回复]

发表评论


QQ群互动

Linux系统与内核学习群:194051772

WP建站技术学习交流群:194062106

魔豆之路QR

魔豆的Linux内核之路

魔豆的Linux内核之路

优秀工程师当看优秀书籍

优秀程序员,要看优秀书!

赞助商广告

友荐云推荐