All Projects → dridri → OpenMaxIL-cpp

dridri / OpenMaxIL-cpp

Licence: MIT License
OpenMax IL C++ wrapper for RaspberryPi

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to OpenMaxIL-cpp

Picamera
A pure Python interface to the Raspberry Pi camera module
Stars: ✭ 1,339 (+7338.89%)
Mutual labels:  raspberry-pi-camera
rps-cv
A Rock-Paper-Scissors game using computer vision and machine learning on Raspberry Pi
Stars: ✭ 102 (+466.67%)
Mutual labels:  raspberry-pi-camera
Object-sorting-using-Robotic-arm-and-Image-processing
Sorting objects of different colors using robotic arm and using computer vision (image processing).
Stars: ✭ 21 (+16.67%)
Mutual labels:  raspberry-pi-camera
Raspilive
📷 Stream video from the Raspberry Pi Camera Module to the web
Stars: ✭ 120 (+566.67%)
Mutual labels:  raspberry-pi-camera
raspberry pi photo booth
The code for my Raspberry Pi photo booth.
Stars: ✭ 55 (+205.56%)
Mutual labels:  raspberry-pi-camera
Face-Recognition-using-Raspberry-Pi
A small project which does face detection using OpenCV library.
Stars: ✭ 48 (+166.67%)
Mutual labels:  raspberry-pi-camera
Auto car
基于深度学习的自动避障智能小车
Stars: ✭ 74 (+311.11%)
Mutual labels:  raspberry-pi-camera
pi-asciicam
A live stream ASCII webcam server for Raspberry Pis using websockets, written in go.
Stars: ✭ 18 (+0%)
Mutual labels:  raspberry-pi-camera
PiHueEntertainment
An application that can handle the Hue Entertainment Areas on a Raspberry Pi
Stars: ✭ 28 (+55.56%)
Mutual labels:  raspberry-pi-camera
raspicam2 node
ROS2 node for camera module of Raspberry Pi
Stars: ✭ 31 (+72.22%)
Mutual labels:  raspberry-pi-camera
Mmalsharp
C# wrapper to Broadcom's MMAL with an API to the Raspberry Pi camera.
Stars: ✭ 152 (+744.44%)
Mutual labels:  raspberry-pi-camera
Raspicam node
ROS node for camera module of Raspberry Pi
Stars: ✭ 218 (+1111.11%)
Mutual labels:  raspberry-pi-camera
telegram-bot-rpi-camera
Telegram bot for capturing images with Raspberry Pi camera module
Stars: ✭ 13 (-27.78%)
Mutual labels:  raspberry-pi-camera
Balena Cam
Network Camera with Raspberry Pi and WebRTC. Tutorial:
Stars: ✭ 120 (+566.67%)
Mutual labels:  raspberry-pi-camera
pmvr
Raspberry Pi Motion Video Recorder
Stars: ✭ 22 (+22.22%)
Mutual labels:  raspberry-pi-camera
Pi Camera Connect
Library to capture and stream Raspberry Pi camera data directly to NodeJS
Stars: ✭ 81 (+350%)
Mutual labels:  raspberry-pi-camera
azure-iot-starter-kits
Samples for Azure IoT starter kits.
Stars: ✭ 29 (+61.11%)
Mutual labels:  raspberry-pi-camera
book-ml
書籍「今すぐ試したい!機械学習・深層学習(ディープラーニング)画像認識プログラミングレシピ」のソースコードを配布するレポジトリです。
Stars: ✭ 29 (+61.11%)
Mutual labels:  raspberry-pi-camera
Human-detection-system-with-raspberry-Pi
A motion detection system with RaspberryPi, OpenCV, Python
Stars: ✭ 50 (+177.78%)
Mutual labels:  raspberry-pi-camera
webcam-to-cctv-using-rpi
In this project, we will use a webcam with Raspberry Pi to live stream wirelessly.
Stars: ✭ 17 (-5.56%)
Mutual labels:  raspberry-pi-camera

OpenMaxIL-cpp

OpenMaxIL-cpp is a library specifically designed for Raspberry Pi, making easier C++ access to camera board and encoders / decoders.

Building

There are no external dependencies except VCOS and IL headers and libraries already pre-shipped in Raspbian images (should be in /opt/vc folder)

mkdir build && cd build
cmake ..
make
sudo make install

Cross compile

It should be compatible with any raspberry cross compilation toolchain. VC headers and libraries are needed on the host system, the preferred way is to copy them from a Raspberry Pi image (i.e. copy from rPi /opt/vc to PC /opt/vc).

The make install command will also install OpenMaxIL-cpp files in this directory.

mkdir build && cd build
cmake -Dcross=1 ..
make
sudo make install

The library is statically linked, so there is no need to install anything on the target Raspberry image.

Usage

Components

Underlying components and port numbers can be found here :

Basic usage

For best performance and usability, OpenMaxIL-cpp is built around OpenMAX components system. Most of the components have one or more input and output ports which can be connected either to another component or to a buffer for manual handling.

Here is a simple example using Camera and VideoRender components connected together :

  // Setup camera 0 (can be 1 on Compute Module, which have two camera ports) with 1280x720 resolution
  Camera* camera = new Camera( 1280, 720, 0 );
  // Create video renderer
  VideoRender* render = new VideoRender();

  // Connect camera continuous video output to renderer input
  camera->SetupTunnelVideo( render );

  // Set both components in idle state, this tells OpenMAX that they should be ready to use
  camera->SetState( Component::StateIdle );
  render->SetState( Component::StateIdle );

  // Start both components, then start camera capture
  camera->SetState( Component::StateExecuting );
  render->SetState( Component::StateExecuting );
  camera->SetCapturing( true );

Complete example can be found in samples/camera_live.cpp file

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].