Graduate

TODO: img transfer from frontend to backend

flask run --cert=cert.pem --key=key.pem
......@@ -76,17 +76,24 @@ function processVideo() {
let msize = new cv.Size(120, 120);
classifier.detectMultiScale(gray, faces, 1.1, 3, 0, msize);
// draw faces.
var images = new Array();
for (let i = 0; i < faces.size(); ++i) {
let face = faces.get(i);
let point1 = new cv.Point(face.x, face.y);
let point2 = new cv.Point(face.x + face.width, face.y + face.height);
let rect = cv.Rect(face.x, face.y, face.x + face.width, face.y + face.height)
cv.rectangle(dst, point1, point2, [255, 0, 0, 255]);
let roi = src.roi(rect);
let img = cv.imencode('jpg', roi).toString('base64');
alert(img);
images.append(img);
let cropped = new cv.Mat();
let rect = new cv.Rect(face.x, face.y, face.width, face.height);
cropped = src.roi(rect);
let tempCanvas = document.createElement("canvas");
cv.imshow(tempCanvas,cropped);
let b64encoded = tempCanvas.toDataURL('image/jpeg', 1.0);
var msg = {
action: "verify",
img: b64encoded,
date: Date.now()
};
let socket = new WebSocket("ws://13.124.104.70:3000");
socket.send(JSON.stringify(msg));
}
cv.imshow('canvasOutput', dst);
// schedule the next one.
......@@ -102,8 +109,8 @@ setTimeout(processVideo, 0);
</head>
<body onload="cv['onRuntimeInitialized']=()=>{ load_cascade() }">
<div id="container">
<video autoplay="true" id="videoInput" width=640 height=480 style="display: none;"></video>
<canvas id="canvasOutput" width=640 height=480></canvas>
</div>
<video autoplay="true" id="videoInput" width=640 height=480 style="display: none;">
</video>
</body>
</html>
......