OpenCV中使用VideoWriter對象來寫入視頻對象
import cv2 #獲取一張圖片的寬高作為視頻的寬高 image=cv2.imread('./aa/img5.jpg') cv2.imshow("new window", image) #顯示圖片 image_info=image.shape height=image_info[0] width=image_info[1] size=(height,width) print(size) fps=30 fourcc=cv2.VideoWriter_fourcc(*"mp4v") video = cv2.VideoWriter('ss.mp4', cv2.VideoWriter_fourcc(*"mp4v"), fps, (width,height)) #創建視頻流對象-格式一 #video = cv2.VideoWriter('ss.mp4', cv2.VideoWriter_fourcc('m', 'p', '4', 'v'), fps, (width,height)) #創建視頻流對象-格式二 """ 參數1 即將保存的文件路徑 參數2 VideoWriter_fourcc為視頻編解碼器 fourcc意為四字符代碼(Four-Character Codes),顧名思義,該編碼由四個字符組成,下面是VideoWriter_fourcc對象一些常用的參數,注意:字符順序不能弄混 cv2.VideoWriter_fourcc('I', '4', '2', '0'),該參數是YUV編碼類型,文件名后綴為.avi cv2.VideoWriter_fourcc('P', 'I', 'M', 'I'),該參數是MPEG-1編碼類型,文件名后綴為.avi cv2.VideoWriter_fourcc('X', 'V', 'I', 'D'),該參數是MPEG-4編碼類型,文件名后綴為.avi cv2.VideoWriter_fourcc('T', 'H', 'E', 'O'),該參數是Ogg Vorbis,文件名后綴為.ogv cv2.VideoWriter_fourcc('F', 'L', 'V', '1'),該參數是Flash視頻,文件名后綴為.flv cv2.VideoWriter_fourcc('m', 'p', '4', 'v') 文件名后綴為.mp4 參數3 為幀播放速率 參數4 (width,height)為視頻幀大小 """ for i in range(1,60): file_name = './aa/img' + str(i) + '.jpg' image=cv2.imread(file_name) video.write(image) # 向視頻文件寫入一幀--只有圖像,沒有聲音 cv2.waitKey()
視頻編碼器:指的時能夠對數字視頻進行壓縮和解壓縮的程序或設備。目前常見的視頻編碼器有H.26X系列(目前最流行的是H.264和H.265)和MPEG系列(目前最流行的是MPEG-4第十部分,即H.264)。