python:cv2.VideoCapture().get()/.set()及cv2.VideoWriter_fourcc()


cv2.VideoCapture().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=cv2.VideoCapture(1)
video_width = int(cap.get(3))
#video_width = int(cap.get(CV_CAP_PROP_FRAME_WIDTH))

cv2.VideoCapture().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=cv2.VideoCapture(1)
cap.set(3, 1920)
#cap.set(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 = cv2.VideoWriter('video.mp4', fourcc, video_fps, (video_width, video_height))
  • 10
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值