python cv2獲取視訊第一幀,並轉碼
阿新 • • 發佈:2020-07-23
安裝Python庫sudo pip install opencv-python 或者sudo pip install opencv-python -i https://pypi.douban.com/simple/
1 #get first frame
2 import os
3 import cv2
4 import base64
5 mp4_loc='./a.mp4'
6 first_frame_loc='./first_frame.jpg'
7 videoCapture = cv2.VideoCapture(mp4_loc)
8 success, frame = videoCapture.read()
9 if(success):
10 cv2.imwrite(first_frame_loc,frame)
11 os.remove(mp4_loc) #delete mp4 file
12 with open(first_frame_loc, 'rb') as f:
13 first_frame_pic_64=base64.b64encode(f.read())
1、videoCapture = cv2.VideoCapture(mp4_loc)
VideoCapture()中引數是mp4_loc,表示開啟視訊,引數是0則表示開啟筆記本的內建攝像頭,如cap = cv2.VideoCapture(0)
2、success, frame = videoCapture .read()
videoCapture .read()按幀讀取視訊,success, frame是獲cap.read()方法的兩個返回值。其中success是布林值,如果讀取幀是正確的則返回True,如果檔案讀取到結尾,它的返回值就為False。frame就是每一幀的影象,是個三維矩陣。
參考:https://blog.csdn.net/Zhou_yongzhe/java/article/details/80310537