GithubHelp home page GithubHelp logo

li--paul / pil2 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from zdzhaoyong/pil2

0.0 1.0 0.0 3.75 MB

New version of PIL

License: GNU Lesser General Public License v3.0

CMake 2.37% Makefile 0.30% C++ 48.09% QMake 0.01% C 49.23%

pil2's Introduction

The Pilot Intelligent Library


1. Introduction


The PIL library includes some pretty useful tools for C++ programing espesially in the areas of moblile robotics and computer vision.

1.1. Website:

1.2. Folder structure

  • PIL --- top dir
  • src --- source code of the library
    • base --- base things ([std=c++11])
      • ClassLoader--- used for plugin warp and loading
      • Debug --- debug utils, exceptions, Logger
      • IO --- some basic io devices support like UART
      • Path --- a general path parser
      • Platform --- basic platform and enviroment macros
      • Svar --- the svar script language for configuration, value passing and command invoking
      • Thread --- thread implementation with mutex, semaphore
      • Time --- time utils including Timer, DataTime
      • Types --- basic types like Int, Point, SPtr, SO3, SE3, VecParament, Random .etc
      • Utils --- some other utils for string and so on
    • network --- network transmission framework for IP/TCP, UDP (pi_base [system] [poco])
      • Utils --- some other utils for string and so on
    • hardware --- inplementation of UART, GPS, IMU and joystick, etc. (pi_base)
      • UART --- UART implementation
      • GPS --- GPS implementation
      • IMU --- IMU implementation
      • Joystick --- Joystick implementation
    • cv --- some computer vision utils based on OpenCV (pi_base opencv [cvd] [ffmpeg])
      • Camera --- Camera and Undistorter
    • gui --- display things (Qt QGLviewer)
      • gl --- opengl display framework based on Qt and OpenGL (QGLViewer), including some basic objects
      • widgets --- some costum widgets for Qt
    • lua --- the lua warper of some APIs (lua)
  • apps --- source code of examples
  • scripts --- compile scripts
  • Thirdparty--- some other librarys PIL depends on

2. Resources and Compilation on Linux


2.1. Resources

  • Download the latest code with:
    • Git:

        git clone https://github.com/zdzhaoyong/PIL2
      

2.2. Dependency

OpenCV : sudo apt-get install libopencv-dev

Qt : sudo apt-get install build-essential g++ libqt4-core libqt4-dev libqt4-gui qt4-doc qt4-designer

QGLViewer : sudo apt-get install libqglviewer-dev libqglviewer2

Boost : sudo apt-get install libboost1.48-all-dev

2.2. Compilation

As we develop the whole project on Linux, only compilation Makefile for linux is provided. If you are using linux systems, it can be compiled with cmake:

mkdir build
cd build
cmake ..
make
sudo make install

3. Usage and examples

Lots of examples are provided in folder apps, cd to the app folder you wanna and input make run to excute the application.

4. Contact


If you have any problem, or you have some suggestions for this code, please contact Yong Zhao by [email protected], thank you very much!

pil2's People

Contributors

bushuhui avatar zdzhaoyong avatar

Watchers

 avatar

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.