Поскольку я слышал о проблемах, вызванных многократной записью на SD-карты, я хочу, чтобы мои изображения использовались в приложении для колб (работающем на Raspberry Pi) напрямую, используя объект, подобный файлу. В моем приложении я обрабатываю изображения каждые несколько секунд, и мне нужно отобразить их в веб-интерфейсе с помощью колбы.
На самом деле я пытаюсь что-то вроде этого:
@app.route('/image')
def image():
img = cv2.imread('raw.png')
img_str = cv.imencode('.png', img)[1].tostring()
f = io.BytesIO()
f.write(img_str)
f.seek(0)
#return Response(bytes, mimetype='image/jpeg')
return send_file(f, mimetype='image/png')
Моя цель - вызывать эту функцию из веб-интерфейса, используя ajax несколько раз в секунду, чтобы обновить изображение. Возможно, вместо фиксированной частоты можно использовать долгосрочные опросы. Сейчас я хочу обслужить изображение, не записывая его на SDCard. В примере кода возвращается «Изображение не может быть отображено, поскольку оно содержит ошибки ..»
Я новичок в фляге, а также в opencv, так что любой совет поможет. Также дайте мне знать, если есть простой или лучший способ обслуживания часто обновляемых изображений с использованием встроенных потоковых объектов, socketio или любого другого.
Спасибо