1、视频分解图像
'''
1、获取视频cv2.VideoCapture('filename'),并判断是否获取成功
2、获取图片帧率、宽高
3、while循环获取需要的图片数量
'''
import cv2
cap = cv2.VideoCapture('1.mp4')
isOpened = cap.isOpened
print(isOpened)
fps = cap.get(cv2.CAP_PROP_FPS)
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
print(fps,width,height)
i = 0
while(isOpened):
if i == 10:
break
else:
i = i+1
(flag,frame) = cap.read()
fileName = 'image'+str(i)+'.jpg'
print(fileName)
if flag == True:
cv2.imwrite(fileName,frame,[cv2.IMWRITE_JPEG_QUALITY,100])
print('end!')
import cv2
cap = cv2.VideoCapture('1.mp4')
isOpened = cap.isOpened
fps = cap.get(cv2.CAP_PROP_FPS)
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
print(fps,width,height)
i = 0
while(isOpened):
if i == 10:
break
else:
i = i+1
(flag,frame) = cap.read()
fileName = 'image'+str(i)+'.jpg'
print(fileName)
cv2.imwrite(fileName,frame,[cv2.IMWRITE_JPEG_QUALITY,100])
print('end!')
2、图像合成视频
import cv2
img = cv2.imread('image1.jpg')
imgInfo = img.shape、
size = (imgInfo[1],imgInfo[0])
videoWrite = cv2.VideoWriter('2.mp4',-1,5,size)
for i in range(1,11):
fileName = 'image'+str(i)+'.jpg'
img = cv2.imread(fileName)
videoWrite.write(img)
print('end!')