92 lines
1.9 KiB
Python
92 lines
1.9 KiB
Python
from flask import Flask, render_template, request, Response, redirect, url_for
|
|
from flask_bootstrap import Bootstrap
|
|
|
|
from object_detection import *
|
|
from camera_settings import *
|
|
|
|
|
|
application = Flask(__name__)
|
|
Bootstrap(application)
|
|
|
|
|
|
check_settings()
|
|
VIDEO = VideoStreaming()
|
|
|
|
|
|
@application.route("/")
|
|
def home():
|
|
TITLE = "Object detection"
|
|
return render_template("index.html", TITLE=TITLE)
|
|
|
|
|
|
@application.route("/video_feed")
|
|
def video_feed():
|
|
"""
|
|
Video streaming route.
|
|
"""
|
|
return Response(
|
|
VIDEO.show(),
|
|
mimetype="multipart/x-mixed-replace; boundary=frame"
|
|
)
|
|
|
|
|
|
# * Button requests
|
|
@application.route("/request_preview_switch")
|
|
def request_preview_switch():
|
|
VIDEO.preview = not VIDEO.preview
|
|
print("*"*10, VIDEO.preview)
|
|
return "nothing"
|
|
|
|
|
|
@application.route("/request_flipH_switch")
|
|
def request_flipH_switch():
|
|
VIDEO.flipH = not VIDEO.flipH
|
|
print("*"*10, VIDEO.flipH)
|
|
return "nothing"
|
|
|
|
|
|
@application.route("/request_model_switch")
|
|
def request_model_switch():
|
|
VIDEO.detect = not VIDEO.detect
|
|
print("*"*10, VIDEO.detect)
|
|
return "nothing"
|
|
|
|
|
|
@application.route("/request_exposure_down")
|
|
def request_exposure_down():
|
|
VIDEO.exposure -= 1
|
|
print("*"*10, VIDEO.exposure)
|
|
return "nothing"
|
|
|
|
|
|
@application.route("/request_exposure_up")
|
|
def request_exposure_up():
|
|
VIDEO.exposure += 1
|
|
print("*"*10, VIDEO.exposure)
|
|
return "nothing"
|
|
|
|
|
|
@application.route("/request_contrast_down")
|
|
def request_contrast_down():
|
|
VIDEO.contrast -= 4
|
|
print("*"*10, VIDEO.contrast)
|
|
return "nothing"
|
|
|
|
|
|
@application.route("/request_contrast_up")
|
|
def request_contrast_up():
|
|
VIDEO.contrast += 4
|
|
print("*"*10, VIDEO.contrast)
|
|
return "nothing"
|
|
|
|
|
|
@application.route("/reset_camera")
|
|
def reset_camera():
|
|
STATUS = reset_settings()
|
|
print("*"*10, STATUS)
|
|
return "nothing"
|
|
|
|
|
|
if __name__ == "__main__":
|
|
application.run(debug=True)
|