python:.get/.set及cv2.VideoWriter_fourcc

时间:2025-05-07 10:46:02

().get(propId)


获取参数
**propId**:  *parameter*    *function* 
0:CV_CAP_PROP_POS_MSEC   视频文件的当前位置(毫秒)或视频捕获时间戳
1:CV_CAP_PROP_POS_FRAMES 下一个要解码/捕获的帧的基于0的索引
2:CV_CAP_PROP_POS_AVI_RATIO 视频文件的相对位置:0-影片开始,1-影片结束
3:CV_CAP_PROP_FRAME_WIDTH 视频流中帧的宽度。
4:CV_CAP_PROP_FRAME_HEIGHT 视频流中帧的高度
5:CV_CAP_PROP_FPS 帧速率
6:CV_CAP_PROP_FOURCC 编解码器的4字符代码
7:CV_CAP_PROP_FRAME_COUNT 视频文件中的帧数
8:CV_CAP_PROP_FORMAT   retrieve()返回的Mat对象的格式
9:CV_CAP_PROP_MODE    后端特定的值,指示当前捕获模式
10:CV_CAP_PROP_BRIGHTNESS 图像的亮度(仅适用于相机)
11:CV_CAP_PROP_CONTRAST  图像的对比度(仅适用于相机)
12:CV_CAP_PROP_SATURATION  图像的饱和度(仅适用于相机)
13:CV_CAP_PROP_HUE  图像的色调(仅适用于相机)
14:CV_CAP_PROP_GAIN  图像增益(仅适用于相机)
15:CV_CAP_PROP_EXPOSURE  曝光(仅适用于相机)
16:CV_CAP_PROP_CONVERT_RGB 指示图像是否应转换为RGB的布尔标志
17:CV_CAP_PROP_WHITE_BALANCE 白平衡 目前不支持
18:CV_CAP_PROP_RECTIFICATION 立体声摄像机的校正标志
Note: 如果查询的视频属性是VideoCapture类不支持的,将会返回0

例如:
cap=(1)
video_width = int((3))
#video_width = int((CV_CAP_PROP_FRAME_WIDTH))

().set(propId,double value)


设置参数
**propId**:  *parameter*    *function* 
0:CV_CAP_PROP_POS_MSEC   视频文件的当前位置(毫秒)
1:CV_CAP_PROP_POS_FRAMES 下一个要解码/捕获的帧的基于0的索引
2:CV_CAP_PROP_POS_AVI_RATIO 视频文件的相对位置:0-影片开始,1-影片结束
3:CV_CAP_PROP_FRAME_WIDTH 视频流中帧的宽度。
4:CV_CAP_PROP_FRAME_HEIGHT 视频流中帧的高度
5:CV_CAP_PROP_FPS 帧速率
6:CV_CAP_PROP_FOURCC 编解码器的4字符代码
7:CV_CAP_PROP_FRAME_COUNT 视频文件中的帧数
8:CV_CAP_PROP_FORMAT   retrieve()返回的Mat对象的格式
9:CV_CAP_PROP_MODE    后端特定的值,指示当前捕获模式
10:CV_CAP_PROP_BRIGHTNESS 图像的亮度(仅适用于相机)
11:CV_CAP_PROP_CONTRAST  图像的对比度(仅适用于相机)
12:CV_CAP_PROP_SATURATION  图像的饱和度(仅适用于相机)
13:CV_CAP_PROP_HUE  图像的色调(仅适用于相机)
14:CV_CAP_PROP_GAIN  图像增益(仅适用于相机)
15:CV_CAP_PROP_EXPOSURE  曝光(仅适用于相机)
16:CV_CAP_PROP_CONVERT_RGB 指示图像是否应转换为RGB的布尔标志
17:CV_CAP_PROP_WHITE_BALANCE  白平衡 目前不支持
18:CV_CAP_PROP_RECTIFICATION 立体声摄像机的校正标志

例如:
cap=(1)
(3, 1920)
#(cv2.CAP_PROP_FRAME_WIDTH, 1920)
fourcc = cv2.VideoWriter_fourcc('M', 'P', '4', 'V')#VideoWriter_fourcc为视频编解码器
      #编码参数:
    # cv2.VideoWriter_fourcc('M', 'P', '4', 'V') MPEG-4编码 .mp4  要限制结果视频的大小,这是一个很好的选择。
    # cv2.VideoWriter_fourcc('X','2','6','4')   MPEG-4编码  .mp4  想限制结果视频的大小,这可能是最好的选择。
    # cv2.VideoWriter_fourcc('I', '4', '2', '0'),该参数是YUV编码类型,文件名后缀为.avi   广泛兼容,但会产生大文件
    # cv2.VideoWriter_fourcc('P', 'I', 'M', 'I'),该参数是MPEG-1编码类型,文件名后缀为.avi
    # cv2.VideoWriter_fourcc('X', 'V', 'I', 'D'),该参数是MPEG-4编码类型,文件名后缀为.avi  要限制结果视频的大小,这是一个很好的选择。
    # cv2.VideoWriter_fourcc('T', 'H', 'E', 'O'),该参数是Ogg Vorbis,文件名后缀为.ogv
    # cv2.VideoWriter_fourcc('F', 'L', 'V', '1'),该参数是Flash视频,文件名后缀为.flv

videoWriter = ('video.mp4', fourcc, video_fps, (video_width, video_height))