python opencv 按一定间隔截取视频帧

Posted 静悟生慧

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python opencv 按一定间隔截取视频帧相关的知识,希望对你有一定的参考价值。

前言
关于opencv
OpenCV 是 Intel 开源计算机视觉库 (Computer Version) 。它由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法。

 

OpenCV 拥有包括 300 多个 C 函数的跨平台的中、高层 API 。它不依赖于其它的外部库 —— 尽管也可以使用某些外部库。 OpenCV 对非商业应用和商业应用都是免费 的。同时 OpenCV 提供了对硬件的访问,可以直接访问摄像头,并且 opencv 还提供了一个简单的 GUI(graphics user interface) 系统 :highgui 。 我们就通过 OpenCV 提供的一些方法来构造出这个人脸检测 ( face detection ) 程序来。

opencv的python包装
 

OpenCV 本身是有 C/C++ 编写的,如果要在其他语言中使用,我们可以通过对其动态链接库文件进行包装即可,幸运的是, Python 下有很多个这样的包装,本文中使用的是 Cvtypes 。

 

事实上,在 Python 中很多的包都是来自第三方的,比如 PIL(Python Image Library) 即为 C 语言实现的一个图形处理包,被包装到了 Python 中,这些包装可以让你像使用 Python 的内建函数一样的使用这些 API 。

 

这个例子使用python编程:用opencv按一定间隔截取视频帧,并保存为图片。

import cv2
 
       
vc = cv2.VideoCapture(‘Test.avi‘) #读入视频文件
c=1
 
if vc.isOpened(): #判断是否正常打开
    rval , frame = vc.read()
else:
    rval = False
 
timeF = 1000  #视频帧计数间隔频率
 
while rval:   #循环读取视频帧
    rval, frame = vc.read()
    if(c%timeF == 0): #每隔timeF帧进行存储操作
        cv2.imwrite(‘image/‘+str(c) + ‘.jpg‘,frame) #存储为图像
    c = c + 1
    cv2.waitKey(1)
vc.release()
 

  

  

 



原文:https://blog.csdn.net/xinxing__8185/article/details/48440133








以上是关于python opencv 按一定间隔截取视频帧的主要内容,如果未能解决你的问题,请参考以下文章

通过python-opencv对视频逐帧截取

基于python-opencv和PIL的截取视频区域生成 GIF 动图

opencv怎么截取视频图片

opencv 视频处理(python)

opencv之从视频帧中截取图片

C++ opencv读取视频保存成图片并对图片进行部分截取