opencv实现视频抽帧,作为其视频封面(python)

  在使用爬虫的过程中,爬到的视频没有视频封面,这时就需要我们手动给他添加一个视频封面,那么opencv就登场了,我们可以使用它抽取视频中的任意一帧保存下来,作为其视频封面

import cv2
def get_video_pic(name):
    cap = cv2.VideoCapture(name)
    cap.set(1, int(cap.get(7)/2)) # 取它的中间帧
    rval, frame = cap.read() # 如果rval为False表示这个视频有问题,为True则正常
    if rval:
        cv2.imwrite('image.jpg', frame)  # 存储为图像
    cap.release()

get_video_pic("1.mp4")

  这里我们使用的是视频的中间帧作为其封面,cap.get(7) 获取视频有多少帧,cap.set(1,x) 设置视频的下一帧为第x帧.这里的x大家可以任意指定,但是不要超过cap.get(7)的值,否则图片保存就会报错.
  视频读取完会有0-18个属性,大家可以使用cap.get(0)、cap.get(1)….cap.get(18)来获取其所有属性。可以使用cap.set(x,y)来设置属性的值,x表示你要设置哪个属性,y表示你要设置的具体的值.关于这18个参数的具体作用,请大家参考官方文档:propid 详细说明

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值