Kinect&OpenNI开发(一) 编程环境搭建与测试_java测试openni simple-程序员宅基地

技术标签: Kinect  OpenCV  OpenNI  

本来用VS用的好好的,但是转到了Ubuntu后发现直接抓瞎= =

本着菜鸟的心态老老实实地用了Eclipse(编译C++要用Helios,Mars各种错 ),还发现网上资料奇少,仅有的资料还错误很多,特此编写此文章,希望可以帮助后来的同学不要浪费不必要的时间在搭建软件环境上。

注:我系统是Ubuntu 14.04,64位的。另外,OpenCV,OpenGL,OpenNI,Nite的安装我就不赘述了,网上资料有很多。

本文基本参考Ubuntu下安装配置OpenNI,OpenCV,并由此文章修改而来。

一、安装Eclipse

1.下载

http://www.eclipse.org/downloads/

因为我是用C++,所以下载的IDE 4 C/C++ Developers

2.解压出eclipse文件夹并移动到想要的文件夹下

3.创建桌面链接

# gedit /usr/share/applications/eclipse.desktop
写入以下内容
[Desktop Entry]
Name=Eclipse
Comment=Eclipse SDK
Encoding=UTF-8
Exec=(文件夹所在位置)eclipse/eclipse
Icon=(文件夹所在位置)eclipse/icon.xpm
Terminal=false
Type=Application
Categories=Application;Development;


二、OpenCV(我的版本是3.1.0)

1.使用eclipse建立新工程,如testOpenCV

2.在左侧的project exploer中右击testOpenCV,点properties,在对话框中选择C/C++ Build->settings->GCC C++ Compiler(如果用C写就选GCC C Compiler)->Directories,在右侧Include paths(-l)里点右边绿色加号,添加路径/usr/local/include/opencv

3.然后再选择GCC C++ Linker->Libraries,在Libraries (-l)中添加opencv_core,opencv_highgui,如果需要其他库也依次添加。库的路径是/usr/local/lib,因此要添加 Library search path (-L):/usr/local/lib。

测试代码:

#include <cv.h>
#include <opencv2/opencv.hpp>//原文中都是早期版本OpenCV用的函数名和库文件,并不能通过编译
 
using namespace cv;
 
int main( )
{
  Mat image;
  image = imread( "lena.jpg", 1);
 
 namedWindow( "Display Image", CV_WINDOW_AUTOSIZE );
  imshow( "Display Image", image );
 
  waitKey(0);
 
  return 0;
}


 

(Lena.jpg自己随便找一张图片就行,放到cpp所在的文件夹下)

三、OpenNI

1.新建一个空的或helloworld工程,如kinectOpenNI;

2.在左侧的project explorer中右击kinectOpenNI,点properties,在对话框左侧中选择C/C++ Build->Settings->GCC C++ Compiler(如果用C写就选GCC C Compiler)->Includes

在右侧Include paths(-l)里点右边绿色加号,添加两个路径:

/usr/include/ni

/usr/include/nite

3.然后再选择GCC C++ Linker->Libraries,在Libraries (-l)中添加
OpenNI

glut

GL(原文中没有提到的库,但是必须要用到)

XnVNite(注意XnVNite可能有版本号,要到你的/usr/lib目录下看一看,有个文件叫libXnVNite_XXXX.so之类的,我的是libXnVNite_1_5_2.so,所以我填的是XnVNite_1_5_2,反正就是随机应变吧,填不对的话它会报错说找不到库)

由于这几个库都是在系统/usr/lib/目录下的,因此不用添加Library search path (-L)。

测试代码:

/*******************************
* *
*OpenNI 1.x Alpha *
*Copyright (C) 2011 PrimeSense Ltd. *
* *
*This file is part of OpenNI. *
* *
*OpenNI is free software: you can redistribute it and/or modify *
*it under the terms of the GNU Lesser General Public License as published *
*by the Free Software Foundation, either version 3 of the License, or *
*(at your option) any later version.*
* *
*OpenNI is distributed in the hope that it will be useful,*
*but WITHOUT ANY WARRANTY; without even the implied warranty of *
*MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
*GNU Lesser General Public License for more details.*
* *
*You should have received a copy of the GNU Lesser General Public License *
*along with OpenNI. If not, see <http://www.gnu.org/licenses/>. *
* *
***********************************/
//---------------------------------------------------------------------------
// Includes
//---------------------------------------------------------------------------
#include <XnOS.h>
#include <GL/glut.h>
#include <math.h>
 
#include <XnCppWrapper.h>
using namespace xn;
 
//---------------------------------------------------------------------------
// Defines
//---------------------------------------------------------------------------
#define SAMPLE_XML_PATH "/home/dna/kinect/OpenNI-Bin-Dev-Linux-x64-v1.5.7.10/Samples/Config/SamplesConfig.xml"
 
#define GL_WIN_SIZE_X 1280
#define GL_WIN_SIZE_Y 1024
 
#define DISPLAY_MODE_OVERLAY 1
#define DISPLAY_MODE_DEPTH 2
#define DISPLAY_MODE_IMAGE 3
#define DEFAULT_DISPLAY_MODE DISPLAY_MODE_DEPTH
 
#define MAX_DEPTH 10000
 
//----------------------------
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u010279433/article/details/50960639

智能推荐

Unity(一)入门:Unity Hub下载 Unity安装_unity hub官网-程序员宅基地

文章浏览阅读2.3w次,点赞21次,收藏71次。一. 下载Unity HubUnity官网下载 Unity Hub :https://unity.cn/releases先注册,登录点击如下图的链接下好安装后快捷方式如下图:运行Unity Hub,获得个人使用的授权,再依次点击左侧菜单栏的安装->右上方的安装,然后勾选需要的版本,本文选的是2019.4.12f1(LTS)版本,下滑勾选语言包->下一步。LTS即 Long Term Support就是字面意思长期支持版本,也就是长期支持的版本,会定期更新,可以理解为稳定版。_unity hub官网

/proc/sys/net/ipv4/下各项的意义_/proc/sys/net/ipv4/icmp_timeexceed_rate-程序员宅基地

文章浏览阅读303次。/proc/sys/net/ipv4/icmp_timeexceed_rate这个在traceroute时导致著名的“Solaris middle star”。这个文件控制发送ICMP Time Exceeded消息的比率。/proc/sys/net/ipv4/igmp_max_memberships主机上最多有多少个igmp (多播)套接字进行监听。/proc/sys/net/ipv4/inet_peer__/proc/sys/net/ipv4/icmp_timeexceed_rate

PCB板的绘制原来是这样完成的——覆铜与规则检查、生成gerber文件供厂家生产_ad顶层铺铜是什么文件-程序员宅基地

文章浏览阅读1k次。用AD绘制PCB板之覆铜一、开始覆铜(1)进行如下操作(2)设置网路(3)相关处理a.修改铜与线之间的间距一、开始覆铜(1)进行如下操作(2)设置网路这里在为顶层覆铜,后面处理底层勾选去除死铜并apply为底层覆铜:ctrl+c 选择参考点然后ctrl+v,然后把顶层改为底层就可以了做到这覆铜就完成了,板子基本也完成了,但还要进行一些处理(3)相关处理a.修改铜与线之间的间距..._ad顶层铺铜是什么文件

用PHP编写简单的api(数据接口)_php 写api-程序员宅基地

文章浏览阅读1.1w次,点赞6次,收藏22次。一、编写接口所需几样工具或软件(均是win7+64位):1.phpStudy、SQLyog和编码工具(sublime text/webStorm/vs code均可,按自己习惯来);2.安装好phpStudy之后,打开软件,点击启动;如果Apache和MySQL右边的显示都是绿色的,那么说明服务启动成功;另外注意一下开始的PHP服务版本,因为不同的版本对应不同node.js版本或SQLyo..._php 写api

海报设计素材|绝美纹理背景简直太实用了_海报纹理有哪些类型-程序员宅基地

文章浏览阅读812次。平时做图和海报的时候,通常有一件事让我们十分头疼,就是找背景图,特别是想要选取合适的纹理背景的时候,尤其头疼。优图网 收集了非常棒的纹理背景图。主要是大理石纹理及玫瑰色金箔纹理背景图,使用场景非常多,也特别能够凸显高级感,真的是每一款都让人疯狂心动。珠光金纹理背景珠光金纹,单从她那浪漫的名字,就能引起人们无数美妙的联想。色调柔和迷人的玫瑰金以她特有的风格与文化,演绎出又一片崭新天地。这个颜色浪漫而又典雅大气,很适合严肃端庄的大型场合的海报、邀请函及其他材料。波点圆点珠光亮片无边背景圣_海报纹理有哪些类型

【浅墨Unity3D Shader编程】之十 深入理解Unity5中的Standard Shader(二)&屏幕油画特效的实现_unity indirect multiple-程序员宅基地

文章浏览阅读1k次。本系列文章由@浅墨_毛星云 出品,转载请注明出处。 文章链接: http://blog.csdn.net/poem_qianmo/article/details/49719247作者:毛星云(浅墨) 微博:http://weibo.com/u/1723155442本文工程使用的Unity3D版本: 5.2.1 _unity indirect multiple

随便推点

SAP与OBS通讯接口架构及技术说明_obs接口文档-程序员宅基地

文章浏览阅读1k次。SAP与OBS通讯接口架构及技术说明_obs接口文档

Jquery 事件 $('#Cust_FollowUpPersonId').combotree('disable');_jquery disable combotree-程序员宅基地

文章浏览阅读221次。事件处理直接绑定指定事件,事件类型即方法名,支持click、focus、blur、submit等。$("#button").click(function(){//script goes here});用on来绑定事件,off来解绑事件,第一个参数为事件名,第二个参数为回调函数。1.7.2版本开始支持。$("#button").on('click',function(){_jquery disable combotree

LAUNCHXL-F280049C Quick Start指南_lauchxl f280049c 脉冲-程序员宅基地

文章浏览阅读2.5k次,点赞5次,收藏26次。F280049C是TI公司最新的DSP芯片,100pin非常好用,日常测试可选用lauchpad作为测试开发平台,官方开发板可以放心用。F280049C官方给的资料已经很全面了,不过日常使用还是需要看下TI的英文官方论坛。F280049C的主要官方支持为C2000各种软件包,通常C2000Ware软件包就已经很够用了。里面内容如下,资料很全这是相关文件及其路径:C2000Ware的打开目录C2000Ware_3_01_00_00\device_support\f28004x\docs建立工程需_lauchxl f280049c 脉冲

MAC安装composer全局时遇到/usr/local/bin/composer: No such file or directory的问题解决_zsh: command not found: composer-程序员宅基地

文章浏览阅读3.8k次,点赞6次,收藏3次。MAC安装composer全局时遇到/usr/local/bin/composer: No such file or directory的问题解决分析原因解决办法分析原因No such file or directory这就表明在/usr/local下不存在bin这个文件夹然后有的人想着直接自己在local下创建一个bin文件夹,在尝试全局安装的指令:sudo mv composer.phar /usr/local/bin/composer结果再进行镜像的安装:composer config _zsh: command not found: composer

计算机网络管理员证书遗失补办,计算机一级证书丢了能补吗 补办流程是什么...-程序员宅基地

文章浏览阅读744次。计算机一级证书丢了能补吗,补办流程是什么,小编整理了相关信息,希望会对大家有所帮助!计算机一级证书丢了能不能补办计算机一级证书丢了可以补办,在教育部考试中心网站进行补办。补办步骤如下:登陆教育部考试中心网,在左边导航栏选择补办合格证明书。2.登录系统后,选择考试项目,申请补办考试合格证明书。3.点击申请。系统在用户提交申请后将对提交资料进行审查,审查合格后,方可办理证书发放手续。全国计算机等级考试..._网络高级管理员证书补办

美国文理学院的计算机科学,计算机专业本科美国大学排名 - 美国圣路易斯华盛顿大学计算机科学专业怎么样是最次的专业吗...-程序员宅基地

文章浏览阅读216次。计算机专业本科美国大学排名 - 美国圣路易斯华盛顿大学计算机科学专业怎么样是最次的专业吗,1. 美国圣路易斯华盛顿大学计算机科学专业怎么样是最次的专业吗华盛顿大学圣路易斯分校,成立于 1853 年,是一所综合大学。 学校下设文理学院、建筑学院、艺术学院、商业管理学院、工程及应用科学学院。   强势专业:医药、法律、建筑、工商管理硕士(MBA/EMBA)。计算机科学专业一般般。2. 麻省大学阿姆赫斯...