An open API service indexing awesome lists of open source software.

https://github.com/dkogan/mrcam


https://github.com/dkogan/mrcam

Last synced: over 1 year ago
JSON representation

Awesome Lists containing this project

README

          

mrcam: a simple camera interface for genicam cameras

OVERVIEW

The actual hardware interface used here is provided by the wonderful aravis
project:

https://github.com/AravisProject/aravis

Thus any genicam camera should be supported, in theory. Without using any
vendor-provided tooling.

mrcam is a set of higher-level libraries and tools built on top of aravis. mrcam
aims to make it simple to get images and build custom applications in the most
common use cases. It contains:

- a C library

- a Python library that uses the C library

- several tools that use the Python library to implement pre-canned GUI
applications

Since most of the work is being done inside mrcam and aravis, the GUI
applications themselves are very simple and quick to write. Currently, two
pre-canned applications are included:

- mrcam: live preview from N cameras, with optional feature controls, logging
and log replay. Logging and replay can happen during the same run: a live
preview can be rewinded.

- focus: tool to focus cameras. The user selects some regions in an image, and
the tool reports a live "sharpness" metric in those regions. The user then
moves the focus ring, aiming to maximize the displayed sharpness metric

LIMITATIONS

Today mrcam is aimed at a subset of functionality supported by aravis:

- Simple pixel formats only (8-bit bayer, 8,10,12,14,16-bit monochrome, rgb8,
bgr8)

- GNU/Linux only

This is very much a work in progress, and capabilities will be extended over
time.

BUILD/INSTALLATION

This is a work in progress. As of today, mrcam has been used primarily on recent
Debian systems. Some required dependency packages are currently only in
Debian/unstable, and not yet in any release of Debian or Ubuntu. The required
dependencies are all available for recent-ish Debian and Ubuntu releases from
the mrcal APT repository; see https://mrcal.secretsauce.net/install.html

After adding the apt server to /etc/apt/sources.list, to build mrcam:

sudo apt update && \
sudo apt install \
libpython3-dev \
libaravis-dev \
libswscale-dev \
mrbuild \
libmrcal-dev \
python3-opencv \
python3-mrcal \
python3-gl-image-display \
python3-fltk \
python3-numpysane \
python3-gnuplotlib \
python3-vnlog && \
make

Then run ./mrcam to get a live view from the first camera