afcarl / qarv Goto Github PK
View Code? Open in Web Editor NEWThis project forked from ad-vega/qarv
A Qt-based GUI and library interface for ethernet cameras using the Aravis library.
License: GNU General Public License v3.0
This project forked from ad-vega/qarv
A Qt-based GUI and library interface for ethernet cameras using the Aravis library.
License: GNU General Public License v3.0
qarv - a Qt interface to Aravis =============================== DESCRIPTION ----------- qarv provides a Qt interface to GeniCam ethernet cameras via the Aravis library. For a user, qarv provides: - Viewing the video, recording it and taking snapshots, with basic controls, such as frames-per-second, pixel format and exposure/gain easily accessible. Region-of-interest can be selected via manual entry or by drawing it directly in the video display. - A viewer and transcoder for raw video dumps recorded with qarv. - The network interface used by the camera is automatically detected and camera's packet size is set to match the interface MTU, providing usable (hopefully) performance with minimal interaction, unlike the default settings on some cameras. - Full access to all camera features is available in a tree view. Settings can be saved and restored, subject to some limitations. - Basic image transformations: mirroring, rotating, inverting. - Histogram; clipped highlights can be marked in the video display. For a programmer, qarv provides: - QArvCamera class which isolates the Qt program from Aravis internals, thus avoiding clashes between Qt and Glib/GTK. It provides direct access to basic settings and emits signals when frames are ready. To access features not covered by the basic interface, it implements the QAbstractItemModel interface. This interface allows access to camera features using Qt's Model/View paradigm. The QArvCamera model can thus be plugged directly into a "view" widget, as is done in our GUI. - QArvCameraDelegate class which implements the QStyledItemDelegate interface. It can be used with the QArvCamera model to get editing widgets for camera features. - QArvGui class provides a camera control window that can be embedded into a host application. It is the same as the standalone application; in fact, the latter is simply a minimal host application. The difference is in the recording functionality: instead of recording to a file, the GUI will emit signals and pass frames to the host application. - QArvDecoder and QArvPixelFormat, which are plugin interfaces for converting a raw frame into an OpenCV image. Convenience functions are available to obtain QImages. Currently provided are decoders for 8, 10, 12 (packed or unpacked) and 16 bit grayscale formats, plus anything supported by libav/ffmpeg. The libav plugin is exposed further to allow easy decoding of all pixel formats, not just those used by Aravis. - QArvRecordedVideo class, which can read a raw video dumped by the qarv GUI and generate a QArvDecoder for decoding the frames. - All of this is provided as libqarv, with headers installed in a standard location, such as /usr/include/qarv-1/. Homepage: http://www.ad-vega.si/en/software/qarv Repository: https://github.com/AD-Vega/qarv Aravis: https://live.gnome.org/Aravis REQUIREMENTS AND INSTALLATION ----------------------------- qarv requires Qt 5 (tested with 5.11), aravis-0.2 or later, OpenCV and either libav or ffmpeg. Optionally, gstreamer-1.0 with the base, good, bad and libav plugin sets allows recording and transcoding to AVI and other non-raw formats. The gstreamer version should be at least 1.0.7; earlier versions have a bug that prevents them from working with qarv. qarv is built using CMake. If you are not familiar with CMake, refer to any tutorial. But for starters, run these commands from the qarv source directory: mkdir build cd build cmake .. make sudo make install You can skip the "make install" step and run qarv from the build directory directly, although there might be problems with localization and icon loading. API documentation can be generated when Doxygen is installed by running make doc LICENSING INFORMATION --------------------- qarv is provided under the GNU General Public License, version 3 or later. See COPYING for more information. The icons included with qarv are part of the oxygen theme from the KDE project (www.kde.org). See res/icons/COPYING for licensing information. The qarv icon itself is derived from the oxygen theme as well. Copyright 2012-2015 Jure Varlec
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.