天天看點

opencv無法讀取視訊解決方法&&抽取視訊幀存儲為圖像(python)1.opencv無法讀取視訊解決方法2.抽取視訊幀并存儲為圖像

1.opencv無法讀取視訊解決方法

最近有抽取視訊幀的需求,是以安裝了opencv,直接去讀取視訊,發現一直打不開.

具體原因:

機器上沒有相應的解碼器;

官方說明:

opencv無法讀取視訊解決方法&&抽取視訊幀存儲為圖像(python)1.opencv無法讀取視訊解決方法2.抽取視訊幀并存儲為圖像

解決方案:

1.把D:\openCV\opencv\sources\3rdparty\ffmpeg\opencv_ffmpeg_64.dll複制到D:\Python下;

2.把opencv_ffmpeg_64.dll重命名為opencv_ffmpeg300_64.dll;

說明:

1.上面的是我的安裝路徑,可以參考着找到相應的檔案進行操作;

2.我的系統是64位,python版本為2.7.10,opencv版本為3.0,是以在opencv_ffmpeg_64後面加入的是300,後面加的數字是opencv版本号;

opencv無法讀取視訊解決方法&&抽取視訊幀存儲為圖像(python)1.opencv無法讀取視訊解決方法2.抽取視訊幀并存儲為圖像

參考文獻:OpenCV 2.4 VideoCapture not working on Windows

2.抽取視訊幀并存儲為圖像

主要代碼:

import numpy as np
import cv2

cap = cv2.VideoCapture('1.mp4')
c = 1

while(cap.isOpened()):
    ret, frame = cap.read()

    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    cv2.imshow('frame',gray)
    cv2.imwrite('image/'+str(c) + '.jpg',frame) #存儲為圖像
    c = c+1
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()
           

結果截圖:

opencv無法讀取視訊解決方法&&抽取視訊幀存儲為圖像(python)1.opencv無法讀取視訊解決方法2.抽取視訊幀并存儲為圖像