之前我们在CCV基础上实现了用kinect隔空触摸,但要求人站在固定的位置上。现在我们做了改进,人可以随意站立、走动,只需伸出双手,即可隔空控制。可同时支持多人一起游戏,看视频吧。

posted @ 2011-11-09 09:09 yangyangcv 阅读(285) 评论(9) 编辑

通过简单的SIFT特征点的检测与匹配,识别数据库中的物体。到这里下载可执行程序

使用方法:
1)将你自己拍摄的物体照片(jpg格式)放到images目录下,同时将文件名记录在imageLists.txt里。程序将根据该文件将指定图片读入内存,作为识别的数据库。图片应尽可能清晰,大小为640*480.
2)运行sift_multiObject.exe。程序运行起来后,左侧是摄像头图像,右侧是识别出的物体图像。
注意:
1)程序目录中不能含有中文
2)本程序对显卡有一定要求,最好为独立Nvidia显卡。

posted @ 2011-06-08 16:31 yangyangcv 阅读(432) 评论(2) 编辑

用OpenNI的骨架化程序,得到各关节的坐标后计算各关节的转角,以此来控制机器人运动。整体比较稳定,但没加入滤波算法,所以还偶尔有抖动。电脑比较卡,如果好电脑的话会流畅很多。欣赏视频吧~

posted @ 2011-06-06 18:54 yangyangcv 阅读(372) 评论(1) 编辑

直接上视频吧,祝各位端午节快乐!

posted @ 2011-06-05 12:47 yangyangcv 阅读(358) 评论(2) 编辑

前面的博文做了用kinect玩隔空触摸,当时用的是CLNUIPlatform的驱动。最近越来越多的人转向openni的驱动,所以今天就花点时间改了下,让用openni的同学们也可以用下面这个软件玩隔空触摸。值得注意的是,用了openni的驱动后,CCV的帧率居然可以飙到70+。。。当然里面是有水分的,不过比之前的十几帧还是快了许多(当然之前用CLNUIPlatform的驱动时,十几帧的帧率也不全怪驱动,我的程序写的也有问题)。


1)安装驱动(下面提到的所有文件我都提供了下载,请耐心往下看)
安装驱动的方法基本上是跟这篇博文学的。不过为了大家方便,在这里把驱动安装过程再啰嗦一遍。

1>卸载所有之前安装过的旧驱动。我卸载的时候都是先到设备管理器里,在原来设备上右键点“卸载”,然后再到添加/删除程序里卸载程序。

2>Install OpenNI;

3>Install Sensor;

4>连接Kinect到PC,如果驱动安装成功,可以在“设备管理器”里可以查看到下图所示标志:

(如果驱动没有安装成功,请把Kinect拔掉重新再插一遍)

注意:Xbox NUI Audio驱动,目前还无法驱动上。所以无法识别 Xbox NUI Audio 属于正常现象。

5>Install NITE;
安装完成后重启电脑

注意2:因为我下面的工程文件include头文件和lib文件时用了绝对路径,所以以上驱动都请安装在默认路径下,应该是C:\Program Files下。如果你更改了安装路径,下面工程文件里的路径也要相应更改。

2)插上kinect后,运行我提供的Community Core Vision.exe,在apps\addonsExamples\VS2008\bin下

 

如果有朋友要自己从源代码编译,请注意以下事项:

1)VS2008打SP1补丁
2)将工程文件的working directory设置为bin(设置方法,在VS2008里Project->Properties->Configuration Properties->Debugging->Working Directory,将这个设成bin)
3)CCV运行成功后按 Esc退出。

以上提到的所有文件,包括驱动、源代码、安装说明等可以到这里下载

posted @ 2011-05-19 22:46 yangyangcv 阅读(1146) 评论(17) 编辑
摘要: 功能描述:使用kinect分割任意平面。使用方法:根据三点确定一个平面的原理,用鼠标在平面上单击三个点,利用这三点坐标求出平面的表达式ax+by+cz+w=0代码:这里下载。使用VS2008+opencv2.0,其他opencv版本应该都是可以的,只需更改下VS2008的工程属性。kinect驱动这里下载 (CL-NUI-Platform-1.0.0.1121,如果安装了其他kinect驱动,需要先卸载干净)可以改进的地方:目前的代码误差还比较大,可以从以下几个方面改进:1) 标定kinect,确定其光心。目前使用的光心是(320,240)2) 使用更多点最小二乘拟合平面更进一步,可以利用RA阅读全文
posted @ 2011-05-02 19:23 yangyangcv 阅读(351) 评论(1) 编辑
摘要: 最近在折腾Ubuntu,把一些东西总结下,希望对大家有帮助。因为我自己也是新手入门,内容上如有错误,敬请指正。软件版本Ubuntu10.04Opencv2.2.0Eclipse3.6 (helios) CDT本文主要介绍在Ubuntu上使用Eclipse创建opencv项目,但为了介绍的完整性,首先介绍下如何下载、编译、安装opencv。1)在home目录下建立一个文件夹,命名为opencv2_2,然后在opencv2_2里建立两个文件夹,一个是opencv2_2_SRC, 一个是opencv2_2_BUILD,供后面cmake使用。2)到http://sourceforge.net/proj阅读全文
posted @ 2011-04-20 15:30 yangyangcv 阅读(839) 评论(0) 编辑
摘要: 一直都使用windows,最近因为一个项目的需要,要试着使用linux。在win上跑linux,最方便的方法是用VMWare虚拟机。但可能是我在虚拟机上跑的程序太耗资源,常导致虚拟机崩溃,于是决定直接装linux。网上有很多这种教程了,但自己在安装过程中还是碰到了很多问题,一直搞了两天,总算是搞定了。下面简要总结下,主要针对网上常见教程里没有涉及到的内容。1.安装windows。我打算给windows两个盘:一个C盘装系统,一个D盘装其他东西。linux两个盘:一个是swap,一个是ext4。此外,windows系统还将自动生成一个100M的分区,供系统使用。因为我们在装windows分区时需阅读全文
posted @ 2011-04-08 20:29 yangyangcv 阅读(2121) 评论(2) 编辑
摘要: 前面博文里提到了自己写的一个natural marker的AR的雏形,那是针对平面物体的,计算homography matrix的时候用上ransac,计算结果还算比较稳定。最近这段时间进一步研究了针对非平面物体的pose estimation问题,基本上完成了雏形,但发现计算结果的噪声特别大。从视频里可以看出,对于rotation的估计基本还可以,但对于translation的估计误差较大,当然也可能是我现在的scale有问题。其实写这篇博文的主要目的是向达人请教怎样做real time data smoothing。就像我视频里展示的,虽然对于rotation的估计基本还可以,但仍然存在较阅读全文
posted @ 2011-03-10 15:20 yangyangcv 阅读(217) 评论(0) 编辑
摘要: Kinect入手一个多月了,刚入手那天用AlexP的驱动试了下,在windows平台上能够拿到摄像头和深度数据,然后就放到朋友的XBox上玩了几天,确实很强大啊。本来想为它写个多点触摸的软件,准确的说应该是隔空操作吧,像少数派报告那种的。要写起来也很简单:1)深度数据做个阈值;2)blob tracking;3)TUIO发出去,然后就可以享用各种多点触摸的上层软件了。但考虑到它这么强大,如果只是这么做就太浪费了,应该搞点高级的,比如手势识别啊、骨骼化之类的。无奈心有余而力不足啊,高级的自己搞起来还是挺费劲,本来这个就是拿来娱乐的,搞得费劲就没劲了,考虑到国际友人们对Kinect如火如荼的破解热阅读全文
posted @ 2011-01-07 22:05 yangyangcv 阅读(4941) 评论(84) 编辑