摘要: 最近在学SVM,尤其关注用SVM解决分类问题。本篇博文把学到的知识总结下来,希望对大家有所帮助。关于SVM的基础理论知识,可以google这篇文章《SVM的八股简介》,讲解得生动有趣,是入门的极好教材。作为拿来主义者,我更关心怎么用SVM,因此瞄上了台湾林智仁教授提供的libSVM。我把自己的使用过程记录下来,感觉按照下面的步骤,傻瓜应该也可以用SVM了。1. 相关程序的下载、安装总共要下载libsvm,python,gnuplot三个程序。1.1 libsvm:到http://www.csie.ntu.edu.tw/~cjlin/libsvm/ 下载,我用的是libsvm-3.12.zip, 阅读全文
posted @ 2012-05-04 17:02 yangyangcv 阅读(15933) 评论(9) 推荐(1) 编辑
摘要: 1. 关于Mat的row操作cv::Mat mat1 = cv::Mat(2,2,CV_64F);mat1.at<double>(0,0) = 1;mat1.at<double>(0,1) = 2;mat1.at<double>(1,0) = 3;mat1.at<double>(1,1) = 4;cv::Mat mat2 = cv::Mat(2,2,CV_64F);mat2.row(0) = mat1.row(0);mat2.row(1) = mat1.row(1);std::cout<<mat1<<std::endl;s 阅读全文
posted @ 2012-04-16 19:55 yangyangcv 阅读(1832) 评论(4) 推荐(0) 编辑
摘要: 最近在看多核编程。简单来说,由于现在电脑CPU一般都有两个核,4核与8核的CPU也逐渐走入了寻常百姓家,传统的单线程编程方式难以发挥多核CPU的强大功能,于是多核编程应运而生。按照我的理解,多核编程可以认为是对多线程编程做了一定程度的抽象,提供一些简单的API,使得用户不必花费太多精力来了解多线程的底层知识,从而提高编程效率。这两天关注的多核编程的工具包括openMP和TBB。按照目前网上的讨论,TBB风头要盖过openMP,比如openCV过去是使用openMP的,但从2.3版本开始抛弃openMP,转向TBB。但我试下来,TBB还是比较复杂的,相比之下,openMP则非常容易上手。因为精力 阅读全文
posted @ 2012-03-23 13:18 yangyangcv 阅读(98643) 评论(40) 推荐(28) 编辑
摘要: 之前我们在CCV基础上实现了用kinect隔空触摸,但要求人站在固定的位置上。现在我们做了改进,人可以随意站立、走动,只需伸出双手,即可隔空控制。可同时支持多人一起游戏,看视频吧。 阅读全文
posted @ 2011-11-09 09:09 yangyangcv 阅读(1782) 评论(15) 推荐(2) 编辑
摘要: 通过简单的SIFT特征点的检测与匹配,识别数据库中的物体。到这里下载可执行程序。使用方法:1)将你自己拍摄的物体照片(jpg格式)放到images目录下,同时将文件名记录在imageLists.txt里。程序将根据该文件将指定图片读入内存,作为识别的数据库。图片应尽可能清晰,大小为640*480.2)运行sift_multiObject.exe。程序运行起来后,左侧是摄像头图像,右侧是识别出的物体图像。注意:1)程序目录中不能含有中文。2)本程序对显卡有一定要求,最好为独立Nvidia显卡。 阅读全文
posted @ 2011-06-08 16:31 yangyangcv 阅读(3226) 评论(3) 推荐(1) 编辑
摘要: 用OpenNI的骨架化程序,得到各关节的坐标后计算各关节的转角,以此来控制机器人运动。整体比较稳定,但没加入滤波算法,所以还偶尔有抖动。电脑比较卡,如果好电脑的话会流畅很多。欣赏视频吧~ 阅读全文
posted @ 2011-06-06 18:54 yangyangcv 阅读(1642) 评论(2) 推荐(0) 编辑
摘要: 直接上视频吧,祝各位端午节快乐! 阅读全文
posted @ 2011-06-05 12:47 yangyangcv 阅读(1611) 评论(4) 推荐(1) 编辑
摘要: 前面的博文做了用kinect玩隔空触摸,当时用的是CLNUIPlatform的驱动。最近越来越多的人转向openni的驱动,所以今天就花点时间改了下,让用openni的同学们也可以用下面这个软件玩隔空触摸。值得注意的是,用了openni的驱动后,CCV的帧率居然可以飙到70+。。。当然里面是有水分的,不过比之前的十几帧还是快了许多(当然之前用CLNUIPlatform的驱动时,十几帧的帧率也不全怪驱动,我的程序写的也有问题)。1)安装驱动(下面提到的所有文件我都提供了下载,请耐心往下看)安装驱动的方法基本上是跟这篇博文学的。不过为了大家方便,在这里把驱动安装过程再啰嗦一遍。1>卸载所有之 阅读全文
posted @ 2011-05-19 22:46 yangyangcv 阅读(3286) 评论(22) 推荐(0) 编辑
摘要: 功能描述:使用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 阅读(2036) 评论(1) 推荐(0) 编辑
摘要: 最近在折腾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 阅读(6119) 评论(1) 推荐(0) 编辑