【发布时间】:2021-11-18 12:14:27
【问题描述】:
我正在使用OpenCV 处理网络服务中的一些视频数据。在调用 OpenCV 之前,视频已经加载到 bytearray 缓冲区,我想将其传递给 VideoCapture 对象:
# The following raises cv2.error because it can't convert '_io.BytesIO' to 'str' for 'filename'
cap = cv2.VideoCapture(buffer)
不幸的是,VideoCapture() 需要一个字符串文件名,而不是缓冲区。现在,我将bytearray 保存到一个临时文件中,并将其名称传递给VideoCapture()。
问题:
- 有没有办法在 Python 中创建 named 内存文件,这样我就可以安抚 OpenCV?
- 或者,是否有另一个支持缓冲区的 OpenCV API?
【问题讨论】: