动态视频流数据的处理可以转化为静态图像帧的处理,这样就可以在不改动图像模型的情况下实现视频流数据的处理工作,当然视频流数据也可以采用视频的处理方法来直接处理,这里今天主要是实践一下视频流数据的预处理工作,即:将视频流数据切割为图像帧数据,实践内容很简单,具体如下所示:
#!usr/bin/env python
#encoding:utf-8
'''
__Author__:沂水寒城
功能: 视频数据切割成图像数据
'''
import os
import cv2
import numpy as np
import cv2.cv as cv
def cutVedios2Pictures(vedio_path='FR.mp4',saveDir='pictures/myself/'):
'''
视频流数据切割成图片数据
'''
if not os.path.exists(saveDir):
os.makedirs(saveDir)
vc=cv2.VideoCapture(vedio_path)
c=1
if vc.isOpened():
rval,frame=vc.read()
else:
rval=False
while rval:
rval,frame=vc.read()
cv2.imwrite(saveDir+str(c)+'.jpg',frame)
c=c+1
cv2.waitKey(1)
vc.release()
if __name__=='__main__':
cutVedios2Pictures(vedio_path='vedios/cat_dog.mp4',saveDir='pictures/cat_dog/')
测试数据是在网上找的一个Kaggle图像分类比赛猫狗大战的神经网络模型示意图,结果如下:
一共切割得到了126帧图像数据,还是蛮有意思的。
到此这篇关于python基于OpenCV模块实现视频流数据切割为图像帧数据的文章就介绍到这了,更多相关python视频流数据切割为图像帧数据内容请搜索软件开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件开发网!