Code Monkey home page Code Monkey logo

penguinv's Introduction

penguinV

Linux + Mac Windows Code quality
Build status Build status CodeFactor

PenguinV is a simple and easy to use C++ image processing library with focus on heterogeneous systems. It is designed to have simple programming syntax and to deliver good performance. Some core features of the library are:

  • heterogeneous system support (CPU/GPU)
  • compactness
  • optional GPU (CUDA, OpenCL) and SIMD (SSE, AVX, NEON) support
  • cross-platform
  • functions can perform processing on separate part (region of interest) of images
  • multithreading support for individual functions (please refer to multithreading support section)
  • user-defined image types support (you can create your own image types and image functions [See API description, ImageTemplate class])

At the current stage of development library does not have some features but we are intending to introduce them very soon:

  • better support of CUDA, OpenCL, SSE, AVX, NEON
  • better heterogeneous system architecture

The library does NOT have it's own image displaying code but you can refer to QT example.

Contribution

Please read contribution page before starting work on a pull request. All contributors are listed in the project's wiki page.

Requirements

To compile the source code your compiler must support at least C++ 11 version.

How to install

The library is distributed in the form of source code. To use the library you need to include library files into your application project. That's it! No more extra moves!

How to compile an example

Open README.md file in any of example directories and follow instructions.

Multithreading support

Every non empty image can be divided into multiple parts or areas (in scientific terms ROI - region of interest). To run image processing in multiple threads you need only to split bigger ROI into small parts and call necessary basic functions. No extra magic! Make sure that small parts are not intersecting by each other.
Almost all basic functions support multithreading. Please refer to Function_Pool namespace and function_pool example.

GPU support

All source code related to CUDA or OpenCL is located in separate directory named as cuda and opencl respectively. Read full description about CUDA or OpenCL support in README file in the directory.

License

This project is under 3-clause BSD License. Please refer to file LICENSE for more details.

API description

Please refer to file API_description.md in doc directory for full description of API.

penguinv's People

Contributors

0x72d0 avatar arcrode avatar captain-darko avatar cdainmiller avatar coderdecoder01 avatar hrshbh avatar ihhub avatar mexchip avatar moeharuna avatar platipo avatar rab-h-sonmai avatar rithvikp1998 avatar seancyw avatar syclik avatar tbelaire avatar yunchih avatar

Watchers

 avatar  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.