cv2.imread блокирует поток - PullRequest
       10

cv2.imread блокирует поток

0 голосов
/ 29 апреля 2019

пытаюсь прочитать изображение, используя cv2.imread(), но поток просто блокируется и никогда не возвращается, пытался прочитать уже существующие файлы, но получил ту же проблему, я не уверен, в чем причина

@app.route('/api/upload', methods=['GET', 'POST'])
def upload_file():
    print('request method is {}'.format(request.method))
    if request.method == 'POST':
        # check if the post request has the file part
        if 'file' not in request.files:
            print('file not in request.files')
            return redirect(request.url)
        file = request.files['file']
        if file.filename == '':
            print('filename is {}'.format(file.filename))
            return redirect(request.url)
        print(file and allowed_file(file.filename))
        if file and allowed_file(file.filename):
            print('receiving ... ', file.filename)
            filename = secure_filename(file.filename)
            ts = int(time.time())
            file_name = file_name_template.format(ts, filename)
            print(file_name)
            filePath = os.path.join(app.root_path, app.config['UPLOAD_FOLDER'], file_name)

            file.save(filePath)
            print('reading image')
            cv2.imread(filePath)
            return 'done' #never executed

примечание : это приложение для колб, работающее на WAMP server + WSGI

1 Ответ

0 голосов
/ 29 апреля 2019

Я полагаю, что на этот вопрос уже ответили в другой публикации .Также см. http://blog.rtwilson.com/how-to-fix-flask-wsgi-webapp-hanging-when-importing-a-module-such-as-numpy-or-matplotlib/.

По сути, он не использует основной интерпретатор для запуска cv2.imread, который не работает должным образом в суб-интерпретаторе.

...