尝试从 opencv 中的 hevc (h265) 视频读取帧时“找不到起始编号(以文件名)”

Gab*_*cus 6 python opencv computer-vision

我正在尝试从(python3,最新版本)中的hevc(h265).avi 视频中读取帧opencv-python,但一直在抛出

OpenCV(4.1.1) C:\projects\opencv-python\opencv\modules\videoio\src\cap_images.cpp:253: error: (-5:Bad argument) CAP_IMAGES: can't find starting number (in the name文件): C:\Users\gabri\Desktop\2019-11-22_13\a.avi 在函数 'cv::icvExtractPattern' 中

我已经尝试过 inubuntuwindows 10using opencv-python, opencv-contrib-python and opencv-contrib-python-nonfree,但没有奏效。先感谢您。

用于读取视频的代码:

import cv2
import imutils

cap = cv2.VideoCapture("C:\\Users\\gabri\\Desktop\\2019-11-22_13\\a.avi")


while True:
    ret,frame = cap.read()
    if not ret:
        break
    frame = imutils.resize(frame,width = 960)
    cv2.imshow('image',frame)

    k = cv2.waitKey(1) & 0xff

    if k == 27:
       break
Run Code Online (Sandbox Code Playgroud)

小智 17

如果您没有在文件名中指定扩展名,您可能会在类中收到此错误在VideoWriter我的情况下,我忘记写.mp4.


Pra*_*kar 8

cap = cv2.VideoCapture("video_path")当函数中的 video_path或cv2.VideoWriter('path_to_folder/output_save.avi')不正确时,通常会弹出此错误
大多数在 Windows 中出现


小智 7

我通过将绝对路径传递到VideoCapture并将文件名从 更改为example.mov来修复此问题example_1000.mov


PJ1*_*127 5

我遇到了同样的问题,编译和链接正常,但运行时出现相同的神秘错误。

它发生在(Windows)opencv_videoio_ffmpeg430_64.dll无法访问时(它似乎被另一个 opencv 库默默地调用)。要么您没有使用 构建 opencv -DWITH_FFMPEG=ON,要么您的 dll 不在路径中。

  • 我遇到了同样的问题(在 Ubuntu 上),我通过将 ffmpeg 添加到我的 OpenCV 构建中解决了这个问题。对于未来的读者:如果您自己构建 OpenCV,请查看 cmake 的输出以查找“FFMPEG:YES”。如果您看到“FFMPEG:NO”,则 cmake 无法找到 ffmpeg 的开发文件。 (3认同)