video_writer.h
Go to the documentation of this file.
1 // *****************************************************************************
2 //
3 // Copyright (c) 2017, Southwest Research Institute® (SwRI®)
4 // All rights reserved.
5 //
6 // Redistribution and use in source and binary forms, with or without
7 // modification, are permitted provided that the following conditions are met:
8 // * Redistributions of source code must retain the above copyright
9 // notice, this list of conditions and the following disclaimer.
10 // * Redistributions in binary form must reproduce the above copyright
11 // notice, this list of conditions and the following disclaimer in the
12 // documentation and/or other materials provided with the distribution.
13 // * Neither the name of Southwest Research Institute® (SwRI®) nor the
14 // names of its contributors may be used to endorse or promote products
15 // derived from this software without specific prior written permission.
16 //
17 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 // ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
21 // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 //
28 // *****************************************************************************
29 
30 #ifndef MAPVIZ_VIDEO_WRITER_H
31 #define MAPVIZ_VIDEO_WRITER_H
32 
33 #include <QObject>
34 #include <QMutex>
35 #include <QImage>
36 
37 #include <boost/shared_ptr.hpp>
38 
39 #ifndef Q_MOC_RUN
40 #include <opencv2/highgui/highgui.hpp>
41 #endif
42 
43 namespace mapviz
44 {
45  class VideoWriter : public QObject
46  {
47  Q_OBJECT
48 
49  public:
51  video_mutex_(QMutex::Recursive)
52  {}
53 
54  bool initializeWriter(const std::string& directory, int width, int height);
55  bool isRecording();
56  void stop();
57 
58  public Q_SLOTS:
59  void processFrame(QImage frame);
60 
61  private:
62  int height_;
63  int width_;
64  QMutex video_mutex_;
66  };
67 }
68 
69 #endif //MAPVIZ_VIDEO_WRITER_H
mapviz
Definition: color_button.h:36
boost::shared_ptr< cv::VideoWriter >
mapviz::VideoWriter::stop
void stop()
Definition: video_writer.cpp:115
mapviz::VideoWriter::isRecording
bool isRecording()
Definition: video_writer.cpp:64
mapviz::VideoWriter::video_writer_
boost::shared_ptr< cv::VideoWriter > video_writer_
Definition: video_writer.h:65
mapviz::VideoWriter::VideoWriter
VideoWriter()
Definition: video_writer.h:50
mapviz::VideoWriter::height_
int height_
Definition: video_writer.h:62
mapviz::VideoWriter::video_mutex_
QMutex video_mutex_
Definition: video_writer.h:64
mapviz::VideoWriter
Definition: video_writer.h:45
mapviz::VideoWriter::width_
int width_
Definition: video_writer.h:63
mapviz::VideoWriter::processFrame
void processFrame(QImage frame)
Definition: video_writer.cpp:69
mapviz::VideoWriter::initializeWriter
bool initializeWriter(const std::string &directory, int width, int height)
Definition: video_writer.cpp:38


mapviz
Author(s): Marc Alban
autogenerated on Sun Sep 8 2024 02:27:09