无法将从flask上传的文件传递给VideoCapture()。

问题描述 投票:-1回答:1

这是一个使用flask让用户上传视频文件的服务器脚本。

        if file and allowed_file(file.filename):
            filename = secure_filename(file.filename)
            file_path = os.path.join(app.config['UPLOAD_FOLDER'], filename)
            file.save(file_path)
            abc.abc(file_path)

            flash('File successfully uploaded')
            return redirect('/')
        else:
            flash('Allowed file types are txt, pdf, png, jpg, jpeg, gif')
            return redirect(request.url)

abc.abc(file_path) 使用上传的文件,并将文件路径传递给 cv2.videocapture(file_path) 函数。然而,当文件被上传后,实际上并没有发生任何事情,而函数调用的 videocapture 不会被执行。下面是视频捕获部分的代码,作为一个单独的python脚本。

class abc:

    def __init__(self, video_url):
        self.video_url = video_url


    def abc(self):

        # Define the video stream
        print('here')
        cap = cv2.VideoCapture(self.video_url)  # Change only if you have more than one webcams

如何解决flask不把文件传给 videocapture()的问题?

python opencv flask file-upload video-processing
1个回答
0
投票

应该是调用init,不接受传来的参数,解决的办法是去掉类,直接从模块中导入函数,然后把文件路径作为参数传过来就可以了,谢谢。凯文

© www.soinside.com 2019 - 2024. All rights reserved.