@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
Я отправляю видео с внешнего интерфейса на сервер flask для его обработки. Но когда я запускаю этот код, эта ошибка появляется в строке cap = cv2.VideoCapture(vid)
:
TypeError: требуется целое число (получил тип FileStorage)
Приходит видео преобразованный в класс 'werkzeug.datastructures.FileStorage' и cv2.VideoCapture
не принимает входные данные в качестве этого класса. Что мне делать?
Я попытался сохранить видео в локальной системе с помощью vid.save('abc.webm')
, а затем прочитать его с помощью cv2.VideoCapture
, и оно отлично работает. Но я не хочу сохранять это в системе.
Пожалуйста, помогите. Заранее спасибо.