Moved to https://git.opendlv.org.
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.
You need a C++14-compliant compiler to compile this project. The following dependency is shipped as part of the source distribution:
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.
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
- This project is released under the terms of the GNU GPLv3 License