Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,10 +1,11 @@
|
|
| 1 |
-
from flask import Flask, render_template, request, Response, jsonify
|
| 2 |
import cv2
|
| 3 |
import os
|
| 4 |
import numpy as np
|
| 5 |
import pickle
|
| 6 |
from datetime import datetime
|
| 7 |
|
|
|
|
| 8 |
app = Flask(__name__)
|
| 9 |
|
| 10 |
FACE_DATA_DIR = 'face_data'
|
|
@@ -18,7 +19,7 @@ face_cascade = cv2.CascadeClassifier(FACE_CASCADE_PATH)
|
|
| 18 |
camera = None
|
| 19 |
face_recognizer = cv2.face.LBPHFaceRecognizer_create()
|
| 20 |
is_trained = False
|
| 21 |
-
has_webcam = os.path.exists("/dev/video0") # deteksi webcam
|
| 22 |
|
| 23 |
def load_face_data():
|
| 24 |
global is_trained
|
|
@@ -142,7 +143,6 @@ def capture_face():
|
|
| 142 |
|
| 143 |
@app.route('/upload_face', methods=['POST'])
|
| 144 |
def upload_face():
|
| 145 |
-
"""Upload foto untuk registrasi (tanpa webcam)"""
|
| 146 |
name = request.form.get('name', '').strip()
|
| 147 |
file = request.files.get('file')
|
| 148 |
|
|
@@ -190,5 +190,13 @@ def save_face(name, frame):
|
|
| 190 |
load_face_data()
|
| 191 |
return jsonify({'success': f'Wajah {name} berhasil didaftarkan'})
|
| 192 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 193 |
if __name__ == '__main__':
|
| 194 |
-
|
|
|
|
| 1 |
+
from flask import Flask, render_template, request, Response, jsonify
|
| 2 |
import cv2
|
| 3 |
import os
|
| 4 |
import numpy as np
|
| 5 |
import pickle
|
| 6 |
from datetime import datetime
|
| 7 |
|
| 8 |
+
# --- Flask App ---
|
| 9 |
app = Flask(__name__)
|
| 10 |
|
| 11 |
FACE_DATA_DIR = 'face_data'
|
|
|
|
| 19 |
camera = None
|
| 20 |
face_recognizer = cv2.face.LBPHFaceRecognizer_create()
|
| 21 |
is_trained = False
|
| 22 |
+
has_webcam = os.path.exists("/dev/video0") # deteksi webcam di server
|
| 23 |
|
| 24 |
def load_face_data():
|
| 25 |
global is_trained
|
|
|
|
| 143 |
|
| 144 |
@app.route('/upload_face', methods=['POST'])
|
| 145 |
def upload_face():
|
|
|
|
| 146 |
name = request.form.get('name', '').strip()
|
| 147 |
file = request.files.get('file')
|
| 148 |
|
|
|
|
| 190 |
load_face_data()
|
| 191 |
return jsonify({'success': f'Wajah {name} berhasil didaftarkan'})
|
| 192 |
|
| 193 |
+
# --- Wrapper untuk Hugging Face ---
|
| 194 |
+
from fastapi import FastAPI
|
| 195 |
+
from starlette.middleware.wsgi import WSGIMiddleware
|
| 196 |
+
|
| 197 |
+
flask_app = app
|
| 198 |
+
asgi_app = FastAPI()
|
| 199 |
+
asgi_app.mount("/", WSGIMiddleware(flask_app))
|
| 200 |
+
|
| 201 |
if __name__ == '__main__':
|
| 202 |
+
flask_app.run(debug=True, host='0.0.0.0', port=5000)
|