opencv无法读取视频解决方法&&抽取视频帧存储为图像(python)

1.opencv无法读取视频解决方法

最近有抽取视频帧的需求,因此安装了opencv,直接去读取视频,发现一直打不开.

具体原因:

机器上没有相应的解码器;

官方说明:



解决方案:

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.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()

结果截图:





你可能感兴趣的:(python,opencv,VideoCapture)