15 #include <mrpt/otherlibs/do_opencv_includes.h> 18 (const_cast<CvVideoWriter*>( \ 19 static_cast<const CvVideoWriter*>(m_video.get()))) 20 #define M_WRITER_PTR (reinterpret_cast<CvVideoWriter**>(m_video.getPtrToPtr())) 50 #if MRPT_OPENCV_VERSION_NUM <= 0x100 53 #ifdef MRPT_OS_WINDOWS 54 cc = CV_FOURCC_DEFAULT;
56 cc = CV_FOURCC_DEFAULT;
60 else if (fourcc.size() == 4)
62 cc = CV_FOURCC(fourcc[0], fourcc[1], fourcc[2], fourcc[3]);
66 std::cerr <<
"[CVideoFileWriter::open] fourcc string must be four " 67 "character length or empty for default." 73 out_file.c_str(), cc, fps, cvSize(frameSize.
x, frameSize.
y),
80 std::cerr <<
"[CVideoFileWriter::open] ERROR: MRPT was compiled without " 123 "Video frame size is %ix%i but image is %ux%u",
m_img_size.
x,
125 (unsigned)
img.getHeight()));
128 if (!cvWriteFrame(
M_WRITER,
img.getAs<IplImage>()))
145 "[CVideoFileWriter::writeImage] Error: video frame " 146 "size is %ix%i but image is %ux%u",
148 (unsigned)
img.getHeight())
154 return 0 != cvWriteFrame(
M_WRITER,
img.getAs<IplImage>());
Classes for serialization, sockets, ini-file manipulation, streams, list of properties-values, timewatch, extensions to STL.
mrpt::utils::TImageSize m_img_size
A copy of the video size.
This namespace provides a OS-independent interface to many useful functions: filenames manipulation...
A class for storing images as grayscale or RGB bitmaps.
void close()
Finish the file writing and close the file output.
#define THROW_EXCEPTION(msg)
A pair (x,y) of pixel coordinates (integer resolution).
mrpt::utils::void_ptr_noncopy m_video
A pointer to CvVideoWriter.
bool isOpen() const
Return true if already successfully open with open() and not closed yet.
bool writeImage(const mrpt::utils::CImage &img) const
Write image to the video file (method function, alternative to the operator <<).
std::string format(const char *fmt,...) MRPT_printf_format_check(1
A std::string version of C sprintf.
Classes for computer vision, detectors, features, etc.
GLsizei const GLchar ** string
CVideoFileWriter()
Default constructor, which does not open any file.
virtual ~CVideoFileWriter()
Destructor.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
An output stream which takes a sequence of images and writes a video file in any of a given of compat...
bool open(const std::string &out_file, double fps, const mrpt::utils::TImageSize &frameSize, const std::string &fourcc=std::string(""), bool isColor=true)
Open a file for writing the video.
const CVideoFileWriter & operator<<(const mrpt::utils::CImage &img) const
Write image to the video file.