|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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)
复制代码 |
|