用python讀取視頻有兩種主要方法,大家可依據自己的需求進行使用。
方法一:
使用imageio庫,沒有安裝的可用pip安裝或自己下載,安裝好后重啟終端即可調用。
import pylabimport imageio#視頻的絕對路徑filename = '/path/to/your/video.mp4'#可以選擇解碼工具vid = imageio.get_reader(filename, 'ffmpeg')for im in enumerate(vid): #image的類型是mageio.core.util.Image可用下面這一注釋行轉換為arrary #image = skimage.img_as_float(im).astype(np.float32) fig = pylab.figure() fig.suptitle('image #{}'.format(num), fontsize=20) pylab.imshow(image)pylab.show()方法二:
用cv2庫,用這種方法的好處是返回的就是arrary,不用轉換,但方法一可以指定顯示某一幀,而這種方法是從頭讀到尾。
import numpy as npimport matplotlib.pyplot as pltimport pylabimport imageioimport skimage.ioimport numpy as np import cv2 cap = cv2.VideoCapture('/path/to/your/video.mp4') while(cap.isOpened()): ret, frame = cap.read() cv2.imshow('image', frame) k = cv2.waitKey(20) #q鍵退出 if (k & 0xff == ord('q')): break cap.release() cv2.destroyAllWindows()大家可能注意到,兩種方法的顯示方法也是不一樣的,這里不詳細展開,實踐一下便很清楚了。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林站長站。
新聞熱點
疑難解答