马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
深度学习有时候获得训练样本很难,偶尔需要从视频中获取一组图片,就需要用到opencv的分解图片功能:import cv2
import numpy as np
cap=cv2.VideoCapture('1.mp4')
isOpened=cap.isOpened
fps=cap.get(cv2.CAP_PROP_FPS)#帧率
i=0
while(isOpened):
if i==10:
break
else:
i=i+1
flag,frame=cap.read()#falg表示是否读取成功,frame是内容
fileName='image'+str(i)+'.jpg'
if flag==True:
cv2.imwrite(fileName,frame,[cv2.IMWRITE_JPEG_QUALITY,100])#最后一个参数100代表图片质量最好
以上代码就是我把一段视频的前10张图分解出来,如图:
还可以把我刚分解出的图片还原成视频,当然就没有声音,而且只是前10张图的视频,这个几乎没什么用:img=cv2.imread('image1.jpg',1)
imgInfo=img.shape
size=(imgInfo[1],imgInfo[0])
fourcc = cv2.VideoWriter_fourcc(*'XVID')
videoWrite=cv2.VideoWriter('2.avi',fourcc,5.0,size)#-1表示用它适合的方法,5代表每秒5帧
for i in range(1,11):
fileName='image'+str(i)+'.jpg'
img=cv2.imread(fileName,1)
videoWrite.write(img)
|