![](/img/trans.png)
[英]“Can't find starting number (in the name of file)” when trying to read frames from .mov video in opencv
[英]"Can't find starting number (in the name of file)" when trying to read frames from hevc (h265) video in opencv
我正在嘗試從opencv-python
(python3,最新版本)中的hevc(h265)
.avi 視頻中讀取幀,但一直在拋出
OpenCV(4.1.1) C:\projects\opencv-python\opencv\modules\videoio\src\cap_images.cpp:253: error: (-5:Bad argument) CAP_IMAGES: 找不到起始編號(名稱中文件):C:\Users\gabri\Desktop\2019-11-22_13\a.avi 在 function 'cv::icvExtractPattern'中。
我在ubuntu
和windows 10
中都嘗試過使用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
我有同樣的問題,編譯和鏈接正常,但在運行時出現同樣的神秘錯誤。
當opencv_videoio_ffmpeg430_64.dll
不可訪問時(在 Windows 中)它發生了(它似乎被另一個 opencv lib 靜默調用)。 要么您沒有使用-DWITH_FFMPEG=ON
構建 opencv,要么您的 dll 不在路徑中。
當函數cap = cv2.VideoCapture("video_path")
或cv2.VideoWriter('path_to_folder/output_save.avi')
中的cv2.VideoWriter('path_to_folder/output_save.avi')
不正確時,通常會彈出此錯誤
多見於窗戶
也許這已經晚了,但肯定會有其他人面臨同樣的問題。
如果您沒有在文件名中指定擴展名,您可能會在 VideoWriter 類中收到此錯誤,在我的情況下,我忘記寫 .mp4。
希望這會有所幫助。
也許你可以在你的路徑上附加一個數字,比如“a2.avi”而不是“a.avi”。
我通過將絕對路徑傳遞到VideoCapture
並將文件名從example.mov
更改為example_1000.mov
。
我遇到了同樣的錯誤並通過將視頻名稱更改為“001.avi”來解決它。
在我的情況下缺少文件擴展名:將movie
更改為movie.mp4
解決了該問題
我的用例可能不是問題中所問的,但是由於 opencv 產生的錯誤消息有點誤導我會為可能遇到類似問題的其他人留下注釋。
就我而言,由於文件已損壞,我收到以下錯誤:
OpenCV(4.5.1) cap_images.cpp:253: error: (-5:Bad argument) CAP_IMAGES: can't find starting number (in the name of file): /path/to/file.png in function 'icvExtractPattern'
我通過 AWS API 網關接收文件,為了避免文件損壞,我必須在 APIGateway 應用程序設置的“二進制媒體類型”部分添加“multipart/form-data”。
對我來說,問題是文件名需要有一個數字。 因此,在您的情況下,也許您可以將文件重命名為a0.avi
對我來說,錯誤發生在我能夠批准訪問相機之前。 在我批准將相機用於應用程序后,它就起作用了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.