edit在python中将视频转换为二进制数据集



我是python的新手,我最近开始学习它。我想将我的视频文件转换为二进制数据集。我在python 3.7的控制台上工作

videoFile = "C:UsersAdminDownloadsmyvideo" # folder with my videofiles

我这样做

import numpy as np
import cv2
 
cap = cv2.VideoCapture("C:UsersAdminDownloadsmyvideo")# folder with my video
 
while(True):
    ret, frame = cap.read() 

然后我得到错误

>>> import numpy as np
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'numpy'
>>> import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'cv2'
>>>
... cap = cv2.VideoCapture("C:UsersAdminDownloadsmyvideo")
  File "<stdin>", line 2
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in positio
n 2-3: truncated UXXXXXXXX escape
>>>
... while(True):
...     ret, frame = cap.read()

为什么我做不到?如何正确将我的视频文件转换为 csv 中的二进制数据集单独 CSV 数据集中的所有视频

编辑

>>> import numpy as np
>>> import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:UsersAdminAppDataLocalProgramsPythonPython37-32libsite-packag
escv2__init__.py", line 3, in <module>
    from .cv2 import *
ImportError: DLL load failed: Не найден указанный модуль.
>>>
>>> cap = cv2.VideoCapture("C:UsersAdminDownloadsmyvideo")# folder with my v
ideo
  File "<stdin>", line 1
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in positio
n 2-3: truncated UXXXXXXXX escape
>>>
>>> while(True):
...     ret, frame = cap.read()
...
Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
NameError: name 'cap' is not defined
>>>

发生此错误是因为您使用普通字符串作为路径只需将r放在普通字符串之前,它将普通字符串转换为原始字符串:

import numpy as np
import cv2
cap = cv2.VideoCapture(r"C:UsersgokulPycharmProjectsGpuTrysample.mp4")
while(True):
    ret, frame = cap.read()
    print(frame)

上面的代码工作得很好。

最新更新