版權聲明:本文爲博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/kun1280437633/article/details/86228908
# 視頻分解圖片
# 1 load 2 info 3 parse 4 imshow imwrite
import cv2
cap = cv2.VideoCapture("1.mp4") # 獲取一個視頻打開cap 1 file name
isOpened = cap.isOpened # 判斷是否打開‘
print(isOpened)
fps = cap.get(cv2.CAP_PROP_FPS) # 幀率 一秒多少張圖片
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) # w h
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() # 讀取每一張 flag frame
fileName = 'image'+str(i)+'.jpg'
print(fileName)
if flag == True:
cv2.imwrite(fileName,frame,[cv2.IMWRITE_JPEG_QUALITY,100])
print('end!')
# 圖片合成視頻(合成流暢視頻一秒最低15張)
import cv2
img = cv2.imread('image1.jpg')
imgInfo = img.shape
size = (imgInfo[1],imgInfo[0])
print(size)
fourcc = cv2.VideoWriter_fourcc(*'DIVX')
videoWrite = cv2.VideoWriter('2.mp4',fourcc,5,size,False)# 寫入對象 1 file name 2 編碼器 3 幀率 4 size
for i in range(1,11):
fileName = 'image'+str(i)+'.jpg'
img = cv2.imread(fileName)
videoWrite.write(img) # 寫入方法 1 jpg data
print('end!')