加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Apache-2.0
OpenNI (Version 1.5.4.0 - May 7th 2012)
---------------------------------------

Website: http://www.primesense.com
Forum: http://groups.google.com/group/openni-dev
Wiki: http://wiki.openni.org

Binaries are available at:
http://www.openni.org/Downloads/OpenNIModules.aspx
(The "OpenNI Binaries" section)

Sources are available at:
https://github.com/OpenNI/OpenNI
or
https://github.com/OpenNI/OpenNI/tree/unstable
for unstable branch

Release Notes:
--------------
* At the moment, the default is to compile the code with SSE3 support (this is also true for the supplied binaries). 
  If you have a CPU without such support, please remove the sse compiler flags from the make files.
  (A good hint for this error is that you encounter an "illegal instructions" messages)
* MacOSX: Only OSX 10.6 (Snow Leopard) and above with an Intel based CPU is currently supported.
* MacOSX: Drawing the depth/image maps via the mono .NET wrapper can be slow and will cause the FPS to drop.
  
Build Notes:
------------
Windows:
	Requirements:
		1) Microsoft Visual Studio 2010
		   From: http://msdn.microsoft.com/en-us/vstudio/bb984878.aspx
		2) Python 2.6+/3.x
		   From: http://www.python.org/download/
		3) PyWin32
		   From: http://sourceforge.net/projects/pywin32/files/pywin32/
		   Please make sure you download the version that matches your exact python version.
		4) WIX 3.5
		   From: http://wix.codeplex.com/releases/view/60102
		5) JDK 6.0
           From: http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u32-downloads-1594644.html
		   You must also define an environment variable called "JAVA_HOME" that points to the JDK installation directory.
		   For example: set JAVA_HOME=c:\Program Files (x86)\Java\jdk1.6.0_32

	Optional requirements (To build the USB device driver):
		1) Microsoft WDK
		   From: http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11800
		   
		The package already includes a precompiled and digitally signed 32/64 bit driver.
	
	Optional Requirements (To build the documentation):
		1) Doxygen
		   From: http://www.stack.nl/~dimitri/doxygen/download.html#latestsrc
		2) GraphViz
		   From: http://www.graphviz.org/Download_windows.php
	
	Building OpenNI:
	    1) Uninstall the previous version.
		2) Go to the directory: "Platform\Win32\CreateRedist".
		   x86 32-bit - Run the script: "RedistMaker.bat y 32 y".
		   x64 64-bit - Run the script: "RedistMaker.bat y 64 y".
		   This will compile and prepare the redist exe files that includes everything.
		3) Install the exe you've just made which is located in Platform\Win32\CreateRedist\FinalXX\OPENNI-WinXX-1.X.X.X.exe 
		   (XX being the number of bits: 32 or 64)
		   The installer will also create the necessary environment variables (OPEN_NI_xxx), add the DLLs to the system path and register the internal modules with NiReg.
		   
		The visual studio solution is located in: Platform\Win32\Build\OpenNI.sln.
		
		When doing development it is recommended that you change the environment variables to point to your development directory instead of the default C:\Program Files\OpenNI.
		(This can save you lots back and forth file copying...)

		Important: Please note that even though the directory is called Win32, you can also use it to compile it for 64-bit targets (Win64/AMD64/x64).
	
	Building the USB driver (Optional):
		Simply go into the directory "OpenNI\Platform\Win32\Driver\Build" and run the "BuildAll.bat" script.
		For your development convenience, you can also use the solution: "Platform\Win32\Driver\Build\psdrv3.sln" but official driver builds should only be made with the batch file above, that uses the proper DDK environment.
		Note: The driver build tool requires a system environment variable called "DDKPATH" that points to the WDK installation dir (for example: "c:\WinDDK\7100.0.0"). To add an environment variable please follow these steps: Control Panel -> System -> Advanced -> Environment Variables -> New (at the "System Variables" tab).	
	   
Linux:
	Requirements:
		1) GCC 4.x
		   From: http://gcc.gnu.org/releases.html
		   Or via apt:
		   sudo apt-get install g++
		2) Python 2.6+/3.x
		   From: http://www.python.org/download/
		   Or via apt:
		   sudo apt-get install python
		3) LibUSB 1.0.x
		   From: http://sourceforge.net/projects/libusb/files/libusb-1.0/
		   Or via apt:
		   sudo apt-get install libusb-1.0-0-dev
		4) FreeGLUT3
		   From: http://freeglut.sourceforge.net/index.php#download
		   Or via apt:
		   sudo apt-get install freeglut3-dev
		5) JDK 6.0
		   From: http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u32-downloads-1594644.html
		   Or via apt:
		     Ubuntu 10.x:				
		       sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
		       sudo apt-get update
		       sudo apt-get install sun-java6-jdk
		     Ubuntu 12.x:				
		       sudo apt-get install openjdk-6-jdk

		   
	Optional Requirements (To build the documentation):
		1) Doxygen
		   From: http://www.stack.nl/~dimitri/doxygen/download.html#latestsrc
		   Or via apt:
		   sudo apt-get install doxygen
		2) GraphViz
		   From: http://www.graphviz.org/Download_linux_ubuntu.php
		   Or via apt:
		   sudo apt-get install graphviz

	Optional Requirements (To build the Mono wrapper):
		1) Mono
		   From: http://www.go-mono.com/mono-downloads/download.html
		   Or via apt:
		   sudo apt-get install mono-complete
		   
	Building OpenNI:
		1) Go into the directory: "Platform/Linux/CreateRedist".
		   Run the script: "./RedistMaker".
		   This will compile everything and create a redist package in the "Platform/Linux/Redist" directory.
		   It will also create a distribution in the "Platform/Linux/CreateRedist/Final" directory.
		2) Go into the directory: "Platform/Linux/Redist".
		   Run the script: "sudo ./install.sh" (needs to run as root)

  		   The install script copies key files to the following location:
		       Libs into: /usr/lib
		       Bins into: /usr/bin
		       Includes into: /usr/include/ni
		       Config files into: /var/lib/ni
			
		To build the package manually, you can run "make" in the "Platform\Linux\Build" directory.
		If you wish to build the Mono wrappers, also run "make mono_wrapper" and "make mono_samples".
		
	Building OpenNI using a cross-compiler:
		1) Make sure to define two environment variables:
		   - <platform>_CXX - the name of the cross g++ for platform <platform>
		   - <platform>_STAGING - a path to the staging dir (a directory which simulates the target root filesystem).
		   Note that <platform> should be upper cased.
		   For example, if wanting to compile for ARM from a x86 machine, ARM_CXX and ARM_STAGING should be defined.
		2) Go into the directory: "Platform/Linux/CreateRedist".
		   Run: "./RedistMaker <platform>" (for example: "./RedistMake Arm").
		   This will compile everything and create a redist package in the "Platform/Linux/Redist" directory.
		   It will also create a distribution in the "Platform/Linux/CreateRedist/Final" directory.
		3) To install OpenNI files on the target file system:
		   Go into the directory: "Platform/Linux/Redist".
		   Run the script: "./install.sh -c $<platform>_STAGING" (for example: "./install.sh -c $ARM_STAGING").

  		   The install script copies key files to the following location:
		       Libs into: STAGING/usr/lib
		       Bins into: STAGING/usr/bin
		       Includes into: STAGING/usr/include/ni
		       Config files into: STAGING/var/lib/ni
			
		To build the package manually, you can run "make PLATFORM=<platform>" in the "Platform\Linux\Build" directory.
		If you wish to build the Mono wrappers, also run "make PLATFORM=<platform> mono_wrapper" and "make PLATFORM=<platform> mono_samples".
	
MacOSX:
	Requirements:
		1) For Mac OSX 10.7, Xcode 4.3.2
		      From: http://developer.apple.com/devcenter/mac/index.action
		      http://adcdownload.apple.com/Developer_Tools/xcode_4.3.2/xcode_432_lion.dmg    
   
		      You will also need to download and install the "Commandline Tools for XCode - Late March 2012" package:
		      http://adcdownload.apple.com/Developer_Tools/command_line_tools_for_xcode_4.4__late_march_2012/cltools_lion_latemarch12.dmg
		   
		      Note: Since Xcode is now a normal application, it no longer automatically install itself. You have to copy&paste Xcode yourself into your Applications folder. 
			        (or run the application "Install Xcode" from your Applications folder / LaunchPad). 		   
			        It's also recommended to run the following command after you do the above:
				      sudo xcode-select -switch /Applications/Xcode.app/
		   
		   For Mac OSX 10.6, Xcode 3.2.6:
		      From: http://developer.apple.com/devcenter/mac/index.action
		      http://developer.apple.com/devcenter/download.action?path=/Developer_Tools/xcode_3.2.6_and_ios_sdk_4.3__final/xcode_3.2.6_and_ios_sdk_4.3.dmg
			   
		   Please note that you need to register as a mac developer (It's free!).
		   		   
		2) LibUSB 1.0.x (The patched development tree)
		   This can be installed by two ways:		   
		   A) MacPorts:      
		      From: http://www.macports.org/install.php
			  For Mac OSX 10.7: https://distfiles.macports.org/MacPorts/MacPorts-2.0.4-10.7-Lion.dmg
			  For Mac OSX 10.6: https://distfiles.macports.org/MacPorts/MacPorts-1.9.2-10.6-SnowLeopard.dmg
			  * You will also need to install LibTool:
			      sudo port install libtool			  
			  * And finally, LibUSB itself:
			      sudo port install libusb-devel +universal
		      Note: Do not forget the +universal, it's very important!!
		            If you're previously already installed libusb-devel then use "sudo port uninstall libusb-devel" and reinstall it again with the +universal flag.
					
		   B) Compile the source & install LibUSB yourself:
			  * Change the working directory to the prerequisites directory: "cd Platform\Linux-x86\Build\Prerequisites"
			  * Extract the tar file by running: "tar -xvjf libusb-1.0.8-osx.tar.bz2"
			  * Change the working directory to the libusb directory: "cd libusb"
			  * Run the following commands to build and install libusb:
			      /autogen.sh
			      ./configure LDFLAGS='-framework IOKit -framework CoreFoundation -arch i386 -arch x86_64 ' CFLAGS='-arch i386 -arch x86_64' --disable-dependency-tracking --prefix=/opt/local
			      make
			      sudo make install
				 
	Optional Requirements (To build the documentation):
		1) Doxygen
		   Install via MacPorts:
		   sudo port install doxygen
		2) GraphViz
		   Install via MacPorts:
		   sudo port install graphviz

	Optional Requirements (To build the Mono wrapper):
		1) Mono
		   From: http://www.go-mono.com/mono-downloads/download.html
		   http://download.mono-project.com/archive/2.10.9/macos-10-x86/10/MonoFramework-MDK-2.10.9_10.macos10.xamarin.x86.dmg
		   Install via MacPorts:
		   sudo port install mono
		   
	Building OpenNI:
		1) Go into the directory: "Platform/Linux-x86/CreateRedist".
		   Run the script: "./RedistMaker".
		   This will compile everything and create a redist package in the "Platform/Linux-x86/Redist" directory.
		   It will also create a distribution in the "Platform/Linux-x86/CreateRedist/Final" directory.
		2) Go into the directory: "Platform/Linux-x86/Redist".
		   Run the script: "sudo ./install.sh" (needs to run as root)

  		   The install script copies key files to the following location:
		       Libs into: /usr/lib
		       Bins into: /usr/bin
		       Includes into: /usr/include/ni
		       Config files into: /var/lib/ni
			
		To build the package manually, you can run "make" in the "Platform\Linux-x86\Build" directory.
		If you wish to build the Mono wrappers, also run "make mono_wrapper" and "make mono_samples".
Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

简介

OpenNI 展开 收起
C++ 等 6 种语言
Apache-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化