• OpenCV读写视频文件解析(二)


    OpenCV读写视频文件解析(二)

    VideoCapture::set

    设置视频捕获中的属性。

    C++:bool VideoCapture::set(int propId, double value)

    Python:cv2.VideoCapture.set(propId, value) → retval

    C:int cvSetCaptureProperty(CvCapture* capture, int property_id, double value)

    Python:cv.SetCaptureProperty(capture, property_id, value) → retval

    Parameters:

    • propId

    Property identifier. It can be one of the following:

    o   CV_CAP_PROP_POS_MSEC Current position of the video file in milliseconds.

    o   CV_CAP_PROP_POS_FRAMES 0-based index of the frame to be decoded/captured next.

    o   CV_CAP_PROP_POS_AVI_RATIO Relative position of the video file: 0 - start of the film, 1 - end of the film.

    o   CV_CAP_PROP_FRAME_WIDTH Width of the frames in the video stream.

    o   CV_CAP_PROP_FRAME_HEIGHT Height of the frames in the video stream.

    o   CV_CAP_PROP_FPS Frame rate.

    o   CV_CAP_PROP_FOURCC 4-character code of codec.

    o   CV_CAP_PROP_FRAME_COUNT Number of frames in the video file.

    o   CV_CAP_PROP_FORMAT Format of the Mat objects returned by retrieve() .

    o   CV_CAP_PROP_MODE Backend-specific value indicating the current capture mode.

    o   CV_CAP_PROP_BRIGHTNESS Brightness of the image (only for cameras).

    o   CV_CAP_PROP_CONTRAST Contrast of the image (only for cameras).

    o   CV_CAP_PROP_SATURATION Saturation of the image (only for cameras).

    o   CV_CAP_PROP_HUE Hue of the image (only for cameras).

    o   CV_CAP_PROP_GAIN Gain of the image (only for cameras).

    o   CV_CAP_PROP_EXPOSURE Exposure (only for cameras).

    o   CV_CAP_PROP_CONVERT_RGB Boolean flags indicating whether images should be converted to RGB.

    o   CV_CAP_PROP_WHITE_BALANCE_U The U value of the whitebalance setting (note: only supported by DC1394 v 2.x backend currently)

    o   CV_CAP_PROP_WHITE_BALANCE_V The V value of the whitebalance setting (note: only supported by DC1394 v 2.x backend currently)

    o   CV_CAP_PROP_RECTIFICATION Rectification flag for stereo cameras (note: only supported by DC1394 v 2.x backend currently)

    o   CV_CAP_PROP_ISO_SPEED The ISO speed of the camera (note: only supported by DC1394 v 2.x backend currently)

    o   CV_CAP_PROP_BUFFERSIZE Amount of frames stored in internal buffer memory (note: only supported by DC1394 v 2.x backend currently)

    • value – Value of the property.

    参数:             

    propId -属性标识符。它可以是下列之一:             

    CV_CAP_PROP_POS_MSEC视频文件的当前位置(毫秒)。             

    CV_CAP_PROP_POS_FRAMES下一个要解码/捕获的帧的基于0的索引。             

    CV_CAP_PROP_POS_AVI_RATIO视频文件的相对位置:0-胶片开始,1-胶片结束。             

    CV_CAP_PROP_FRAME_WIDTH视频流中帧的宽度。

    CV_CAP_PROP_FRAME_HEIGHT视频流中帧的高度。             

    CV_CAP_PROP_FPS帧速率。             

    CV_CAP_PROP_FOURCC编解码器的4个字符代码。             

    CV_CAP_PROP_FRAME_COUNT视频文件中的帧数。

    CV_CAP_PROP_FORMAT retrieve()返回的Mat对象格式。             

    CV_CAP_PROP_MODE后端特定值,指示当前捕获模式。

    CV_CAP_PROP_BRIGHTNESS 图像亮度(仅适用于相机)。             

    CV_CAP_PROP_CONTRAST图像的对比度(仅适用于相机)。             

    CV_CAP_PROP_SATURATION图像饱和度(仅适用于相机)。             

    CV_CAP_PROP_HUE  图像的色调(仅适用于相机)。             

    CV_CAP_PROP_GAIN图像的增益(仅适用于相机)。             

    CV_CAP_PROP_EXPOSURE曝光(仅适用于相机)。             

    CV_CAP_PROP_CONVERT_RGB布尔标志,指示是否应将图像转换为RGB。

    CV_CAP_PROP_WHITE_BALANCE_U设置白平衡的U值(注意:当前仅受DC1394 v 2.x后端支持)             

    CV_CAP_PROP_WHITE_BALANCE_V设置白平衡的V值(注意:当前仅受DC1394 V 2.x后端支持)             

    CV_CAP_PROP_RECTIFICATION立体摄像机的校正标志(注:目前仅受DC1394 v 2.x后端支持)             

    CV_CAP_PROP_ISO_SPEED相机的ISO速度(注意:当前仅受DC1394 v 2.x后端支持)             

    CV_CAP_PROP_BUFFERSIZE存储在内部缓冲存储器中的帧数量(注意:当前仅受DC1394 v 2.x后端支持)             

    value–属性的值。

     VideoWriter

    class VideoWriter

    Video writer class.

    VideoWriter::VideoWriter

    VideoWriter constructors构造

    C++:VideoWriter::VideoWriter()

    C++:VideoWriter::VideoWriter(const string& filename, int fourcc, double fps, Size frameSize, bool isColor=true)

    Python:cv2.VideoWriter([filename, fourcc, fps, frameSize[, isColor]]) → <VideoWriter object>

    C:CvVideoWriter* cvCreateVideoWriter(const char* filename, int fourcc, double fps, CvSize frame_size, int is_color=1 )

    Python:cv.CreateVideoWriter(filename, fourcc, fps, frame_size, is_color=true) → CvVideoWriter

    Python:cv2.VideoWriter.isOpened() → retval

    Python:cv2.VideoWriter.open(filename, fourcc, fps, frameSize[, isColor]) → retval

    Python:cv2.VideoWriter.write(image) → None

    Parameters:

    • filename – Name of the output video file.
    • fourcc – 4-character code of codec used to compress the frames. For example,
    • CV_FOURCC('P','I','M','1') is a MPEG-1 codec,
    • CV_FOURCC('M','J','P','G') is a motion-jpeg codec etc. List of codes can be obtained at Video Codecs by FOURCC page.
    • fps – Framerate of the created video stream.
    • frameSize – Size of the video frames.
    • isColor – If it is not zero, the encoder will expect and encode color frames, otherwise it will work with grayscale frames (the flag is currently supported on Windows only).
    • 参数:             
    • file Name–输出视频文件的名称。             
    • fourcc–用于压缩帧的编解码器的4字符代码。例如,CV_FOURCC('P','I','M','1')是MPEG-1编解码器,CV_FOURCC('M','J','P','G')是运动jpeg编解码器等。可通过FOURCC页面在视频编解码器处获得代码列表。             
    • fps–创建的视频流的帧速率。             
    • frameSize–视频帧的大小。             
    • isColor–如果不为零,编码器将期望并编码彩色帧,否则将使用灰度帧(该标志当前仅在Windows上受支持)。
    • 构造函数/函数初始化视频写入程序。在Linux上,FFMPEG用于编写视频;在Windows上,FFMPEG或VFW用于编写视频;在MacOSX上,QTKit用于编写视频。
    • ReleaseVideoWriter
    • 释放AVI writer。
    • C:void cvReleaseVideoWriter(CvVideoWriter** writer)
    • The function should be called after you finished using CvVideoWriter opened with CreateVideoWriter().
    • 在使用完用CreateVideoWriter()打开的CvVideoWriter之后,应该调用该函数。
    • VideoWriter::open
    • 初始化或重新初始化视频编写器。

    C++:bool VideoWriter::open(const string& filename, int fourcc, double fps, Size frameSize, bool isColor=true)

    Python:cv2.VideoWriter.open(filename, fourcc, fps, frameSize[, isColor]) → retval

    • The method opens video writer. Parameters are the same as in the constructor
    • VideoWriter::VideoWriter()
    • 该方法打开视频编写器。参数与构造函数VideoWriter::VideoWriter()中的参数相同。
    • VideoWriter::isOpened
    • 如果已成功初始化视频编写器,则返回true。

    C++:bool VideoWriter::isOpened()

    Python:cv2.VideoWriter.isOpened() → retval

    VideoWriter::write

    写入下一个视频帧

    C++:VideoWriter& VideoWriter::operator<<(const Mat& image)

    C++:void VideoWriter::write(const Mat& image)

    Python:cv2.VideoWriter.write(image) → None

    C:int cvWriteFrame(CvVideoWriter* writer, const IplImage* image)

    Python:cv.WriteFrame(writer, image) → int

    Parameters:

    • writer – Video writer structure (OpenCV 1.x API)
    • image – The written frame

    参数:             

    writer—视频编写器结构(OpenCV 1.x API)             

    image –写入帧

    函数/方法将指定的图像写入视频文件。它的大小必须与打开视频编写器时指定的大小相同。

     

  • 相关阅读:
    qt中线程的使用方法
    QT中定时器的使用方法
    Common Lisp学习笔记(八)
    Common Lisp学习笔记(七)
    Common Lisp学习笔记(六)
    vim使用笔记
    Django学习笔记:urlresolvers
    python closures and decorators
    规范命名:变量名的力量
    eclipse openGL glut运行环境配置
  • 原文地址:https://www.cnblogs.com/wujianming-110117/p/13140351.html
Copyright © 2020-2023  润新知