Skip to content
This repository has been archived by the owner on Apr 2, 2024. It is now read-only.

chalmers-revere/opendlv-device-camera-opencv

Repository files navigation

Moved to https://git.opendlv.org.

OpenDLV Microservice to interface with OpenCV-encapsulated cameras

This repository provides source code to interface OpenCV-encapsulated cameras for the OpenDLV software ecosystem. This microservice provides the captured frames in two separate shared memory areas, one for a picture in I420 format and one in ARGB format.

Build Status License: GPLv3

Table of Contents

Dependencies

You need a C++14-compliant compiler to compile this project. The following dependency is shipped as part of the source distribution:

Usage

This microservice is created automatically on changes to this repository via Docker's public registry for:

To run this microservice using our pre-built Docker multi-arch images to open an OpenCV-encapsulated camera, simply start it as follows:

docker run --rm -ti --init --ipc=host -e DISPLAY=$DISPLAY --device /dev/video0 -v /tmp:/tmp chalmersrevere/opendlv-device-camera-opencv-multi:v0.0.11 --camera=/dev/video0 --width=640 --height=480 --freq=20

If you want to display the captured frames, simply append --verbose to the commandline above; you might also need to enable access to your X11 server: xhost +.

If you want to grab a frame from a capturing device that is producing YUYV422-formatted pixels, you can pass --yuyv422 to avoid unnecessary color transformations.

Build from sources on the example of Ubuntu 16.04 LTS

To build this software, you need cmake, C++14 or newer, libopencv-dev (OpenCV 3 or newer), and make. Having these preconditions, just run cmake and make as follows:

mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=Release ..
make && make test && make install

License

  • This project is released under the terms of the GNU GPLv3 License