Я пытаюсь выполнить обнаружение штрих-кода с помощью 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