-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathREADME
117 lines (84 loc) · 4.27 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
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