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

版权声明:本文为博主原创文章,转载请注明来源。 https://blog.csdn.net/Crazy__Hope/article/details/79532754

  在使用爬虫的过程中,爬到的视频没有视频封面,这时就需要我们手动给他添加一个视频封面,那么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 详细说明

展开阅读全文

没有更多推荐了,返回首页