【问题标题】:Issue opening video file with OpenCV VideoCapture使用 OpenCV VideoCapture 打开视频文件问题
【发布时间】:2017-09-28 14:06:33
【问题描述】:

我一直在为这个问题审查大量类似的问题,但恐怕我无法弄清楚为什么我无法在 opencv 中打开文件

我有一个文件“small.avi”,它是我从互联网上获得的“small.mp4”的重新编码。我用 ffmpeg -i small.mp4 small.avi 重新编码,我这样做是因为我也无法打开 mp4 文件,在线它建议先尝试 avi 格式。

这是我的代码(主要是从教程中复制的,有几行显示一些相关信息):

import cv2
import os

for _, __, files in os.walk("."):
    for file in files:
        print file
print ""

cap = cv2.VideoCapture("small.mp4")
print cap.isOpened()
print cap.open("small.avi")
i = 0
while cap.isOpened() and i < 10:
    i += 1
    ret, frame = cap.read()
    print "read a frame"
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    cv2.imshow('frame', gray)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
cap.release()
cv2.destroyAllWindows()

这会产生以下输出:

"A:\Program Files\AnacondaPY\Anaconda\python.exe" A:/Documents/Final/VideoProcessor.py
small.avi
small.mp4
VideoProcessor.py

False
False

Process finished with exit code 0

我的程序似乎没有正确打开这两个文件。听从

的建议

Can not Read or Play a Video in OpenCV+Python using VideoCapture

Cannot open ".mp4" video files using OpenCV 2.4.3, Python 2.7 in Windows 7 machine,

我发现我的cv2版本是3.0.0,去

A:\Downloads\opencv\build\x86\vc12\bin

并将文件opencv_ffmpeg300.dll复制到

A:\Program Files\AnacondaPY\Anaconda

尽管如此,代码仍然没有成功打开视频文件。我什至尝试了 x64 版本,并尝试命名文件 opencv_ffmpeg.dll、opencv_ffmpeg300.dll 和 opencv_ffmpeg300_64.dll(用于 x64 版本)。还有什么我可以尝试解决的吗?

感谢您的帮助

【问题讨论】:

  • 我在这里建议你两件事:首先尝试从终端而不是 Anaconda 运行你的 python 脚本。其次尝试使用视频文件的完整路径而不是"small.mp4"

标签: python opencv video ffmpeg


【解决方案1】:

如果您从 menpo(或默认 conda)频道下载了 opencv(使用 'conda install --channel https://conda.anaconda.org/menpo opencv3' ),它可能无法工作,因为某些视频处理依赖项(例如 ffmpeg)不存在。

您需要从“conda-forge”频道下载 opencv,其中包含用于视频处理的最新和附加包和依赖项。请尝试以下操作:

conda install -c conda-forge ffmpeg

conda install -c conda-forge opencv

这里 -c 告诉通道用作“conda-forge”。

【讨论】:

  • 谁投了反对票,请发表评论,以便我改进答案。
猜你喜欢
  • 2018-07-26
  • 2013-01-22
  • 2012-07-13
  • 1970-01-01
  • 2021-03-22
  • 2012-04-30
  • 2017-11-12
  • 1970-01-01
  • 2014-04-30
相关资源
最近更新 更多