Python 3.x cv2.VideoCapture不是';无法读取来自前端的视频

Python 3.x cv2.VideoCapture不是';无法读取来自前端的视频,python-3.x,opencv,flask,video-capture,Python 3.x,Opencv,Flask,Video Capture,我正在将视频从前端发送到flask服务器进行处理。但当我运行此代码时,此错误会显示在第行cap=cv2.VideoCapture(vid): TypeError:需要整数(获取类型文件存储) 视频将在“werkzeug.datastructures.FileStorage”类和cv2中转换。VideoCapture不接受作为此类的输入。我该怎么办 我尝试使用vid.save('abc.webm')在本地系统上保存视频,然后使用cv2.VideoCapture读取视频,效果非常好。但我不想把它保存

我正在将视频从前端发送到flask服务器进行处理。但当我运行此代码时,此错误会显示在第行
cap=cv2.VideoCapture(vid)

TypeError:需要整数(获取类型文件存储)

视频将在“werkzeug.datastructures.FileStorage”类和
cv2中转换。VideoCapture
不接受作为此类的输入。我该怎么办

我尝试使用
vid.save('abc.webm')
在本地系统上保存视频,然后使用
cv2.VideoCapture
读取视频,效果非常好。但我不想把它保存在系统上


请帮忙。提前谢谢。

您需要的是
.read()
从文件存储对象获取字节

@app.route('/process', methods=['POST'])
def process():
    if request.method == 'POST':
        vid = request.files['file']
        cap = cv2.VideoCapture(vid)
        while(cap.isOpened()):
            ret,frame = cap.read()
            if not ret:
                break

            do_something()

            k = cv2.waitKey(1)
            if k == 27:
                break


用零代替vid,看看它是如何工作的。(cap=cv2.VideoCapture(0))是的,正在工作。但我不想使用网络摄像头,我想处理从前端获取的视频。因此,您的系统有2个视频输入?视频捕获可以处理文件、流和文件夹/图像。如果您有自定义类型,它不知道如何使用它。@MH304没有。我只有视频输入。我正在使用javascript在前端使用网络摄像头录制流,然后将该视频发送到后端的flask服务器,在那里我想使用opencv处理该视频。但我无法使用cv2.VideoCapture访问视频。
vid = request.files['file'].read()
cap = cv2.VideoCapture(vid)