ValueError: функция просмотра не возвращала ответ при отправке адреса через URL - PullRequest
0 голосов
/ 01 ноября 2019

Я пытаюсь выполнить обнаружение штрих-кода с помощью dbr и создаю API фляги для его запуска. когда я помещаю адрес видео в мой код, API работает и выдает выходные данные, но когда я отправляю адрес видео через URL, он показывает эту ошибку ValueError: функция просмотра не возвращает ответ

, еслия возвращаю 'ok' в конце функции home, он возвращает 'ok', но вывод не приходит, если я ничего не возвращаю, он показывает эту ошибку, если я вставил адрес видео в код, подобный этому address = "E: \ DynamSoft \ python-7.x \ 20191005_145101.mp4 ", затем он работает

from flask import Flask
import pandas as pd
from sqlalchemy import create_engine
from flask import request
app = Flask(__name__)
app.config["DEBUG"] = True

@app.route('/barcode', methods=['GET'])

def home():

    import cv2
    from dbr import DynamsoftBarcodeReader
    dbr = DynamsoftBarcodeReader()
    import time
    import os
    import pandas as pd

    import sys
    sys.path.append('../')
    import config
    address=request.args.get('address')


    def get_time():
        localtime = time.localtime()
        capturetime = time.strftime("%Y%m%d%H%M%S", localtime)
        return capturetime


    def read_barcode():

        vc = cv2.VideoCapture(address)

        if vc.isOpened():  # try to get the first frame
            dbr.initLicense(config.license)
            rval, frame = vc.read()
        else:
            return 

        windowName = "Barcode Reader"
        type_list = []
        value_list = []
        while True:
            cv2.imshow(windowName, frame)
            rval, frame = vc.read()
            results = dbr.decodeBuffer(frame,config.barcodeTypes)
            if (len(results) > 0):
                print(get_time())
                print("Total count: " + str(len(results)))
                for result in results:
                    type_list.append(result[0])
                    value_list.append(result[1])
                    df = pd.DataFrame(data={"barcode": value_list,"type":type_list})
                    df = df.drop_duplicates('barcode', keep='last')
                    df.to_csv("E:\\DynamSoft\python-7.x\\20191005_145101.csv", sep=',',index=True)
                    print("Type: " + result[0])
                    print("Value: " + result[1] + "\n")

            # 'ESC' for quit
            key = cv2.waitKey(20)
            if key == 27:
                break

        cv2.destroyWindow(windowName)
        return result[0]

    if __name__ == "__main__":
        print("OpenCV version: " + cv2.__version__)
        read_barcode()
    return 'ok'

app.run(debug=True)

Я хочу отправить адрес видео через URL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...