Giter Club home page Giter Club logo

ps1080test's Introduction

ps1080test

Testing on top of an OpenNI camera. Mostly a space for experimenting with small concepts and ideas. As such, the code has basically no comments and poor interfaces for most of it's functionality.

Dependencies

Currently the code has a few MIT/BSD licensed, inlined dependencies, such as linalg.h and nanoflann. Outside of that, the following open-source libraries are required from additional sources:

  • OpenNI2: For camera access, it's expected that you have an installation of OpenNI2 for your platform of interest. Binaries are here while the entire project is also on github. It's only used in ONICamera.h source files.
  • SDL2: This is needed as an abstraction layer for window handling across platforms. Download the development libraries, or their source code, from their website. It's only used in the Drawing_*_SDL.h source files, and main.cpp
  • GLEW: This is needed to get access to modern OpenGL functions on Windows. Binaries are here, while the source code is on github.
  • Eigen3: A popular and flexible header-only linear algebra library. It's fairly large, at ~3MB extracted, so I tend to store it in a common location. It's only used for Cholesky decomposition in ICP.h. And a commented-out SVD-based pairwise matcher in detect.h. Releases are here, while the repository is here.

Building

Windows

  • Pull down a version of this repository
  • A Visual Studio 2013 Solution is included in msvc/. All the dependencies are setup for x86 and x64, they just require locations of the aforementioned libraries, which are configured through editing a single property sheet, msvc/props/Config.prop.
  • By default, you can just download the dependencies from the website and extract them to msvc/deps/. For example, I have msvc/deps/SDL2, msvc/deps/glew and msvc/deps/eigen, which are just extracted versions of the zip files from the websites
  • Load the Solution and Build.

Linux

  • Pull down a version of this repository.
  • I'm using the amazingly convenient Generic Makefile.
  • It has all the dependencies specified through pkg-config, see line 11 of the Makefile. Install them through your distribution's package manager.
  • On Ubuntu: sudo apt-get install libopenni2-dev libsdl2-dev libglew-dev libeigen3-dev
  • On Fedora: su -c 'yum install SDL2-devel glew-devel eigen3-devel' Unfortunately, Fedora lacks an OpenNI2 pkg, and the default OpenNI2 Linux installer doesn't include a pkg-config file. Debian maintainers have one, but its Include directory has to be changed manually if used with the OpenNI2 install script.
  • Type make in the top-level-directory. make debug also works. This'll build everything and make a symlink to ./ps1080.
  • Run via ./ps1080

Mac OS X

  • I haven't tried it. I've heard that this guide may be helpful in installing SDL2.

License

Mozilla Public License 2.0

ps1080test's People

Contributors

leonidk avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

ps1080test's Issues

OpenNI dependency

Is it possible to refactor into multiple examples?

  1. Consuming OpenNI camera
  2. Taking arbitrary depth input (static image for example purposes)

Consider alternative OSS license like BOOST?

It's a slightly more permissive license. MPL protects you maximally, but BOOST would offer the same protection while offering slightly more leeway in terms of redistribution in commercial or and closed-source software.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.