Graduate

Update flask

...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
11 <script type='text/javascript' src="{{url_for('static', filename='js/utils.js')}}"></script> 11 <script type='text/javascript' src="{{url_for('static', filename='js/utils.js')}}"></script>
12 <script type='text/javascript' src="https://code.jquery.com/jquery-1.12.4.min.js"></script> 12 <script type='text/javascript' src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
13 <script type='text/javascript'> 13 <script type='text/javascript'>
14 +let tempCanvas = document.createElement("canvas");
14 function load_cascade() 15 function load_cascade()
15 { 16 {
16 let faceCascadeFile = 'haarcascade_frontalface_default.xml' 17 let faceCascadeFile = 'haarcascade_frontalface_default.xml'
...@@ -26,11 +27,15 @@ function activate() ...@@ -26,11 +27,15 @@ function activate()
26 fileloader.disabled = false; 27 fileloader.disabled = false;
27 } 28 }
28 29
29 -function detect_face() 30 +function detect_face(img)
30 { 31 {
31 let classifier = new cv.CascadeClassifier(); 32 let classifier = new cv.CascadeClassifier();
32 classifier.load('haarcascade_frontalface_default.xml'); 33 classifier.load('haarcascade_frontalface_default.xml');
33 - let src = cv.imread('imagefile'); 34 + let canvas = document.createElement('canvas');
35 + let ctx = canvas.getContext("2d")
36 + ctx.src = img;
37 +
38 + let src = cv.imread(canvas);
34 let dst = new cv.Mat(video.height, video.width, cv.CV_8UC4); 39 let dst = new cv.Mat(video.height, video.width, cv.CV_8UC4);
35 let gray = new cv.Mat(); 40 let gray = new cv.Mat();
36 src.copyTo(dst); 41 src.copyTo(dst);
...@@ -91,13 +96,10 @@ var loadFile = function(event) { ...@@ -91,13 +96,10 @@ var loadFile = function(event) {
91 var reader = new FileReader(); 96 var reader = new FileReader();
92 reader.readAsDataURL(event.target.files[0]); 97 reader.readAsDataURL(event.target.files[0]);
93 reader.onload = function() { 98 reader.onload = function() {
94 - var output = document.getElementById('imagefile'); 99 + let img = reader.result;
95 - output.src = reader.result; 100 + detect_face(img);
96 - detect_face();
97 }; 101 };
98 }; 102 };
99 -
100 -let tempCanvas = document.createElement("canvas");
101 </script> 103 </script>
102 </head> 104 </head>
103 <body onload="cv['onRuntimeInitialized']=()=>{load_cascade();};" class="w3-light-grey"> 105 <body onload="cv['onRuntimeInitialized']=()=>{load_cascade();};" class="w3-light-grey">
...@@ -117,7 +119,6 @@ and is wrapped around the whole page content, except for the footer in this exam ...@@ -117,7 +119,6 @@ and is wrapped around the whole page content, except for the footer in this exam
117 이름: <input type="text" name="student_name"><br><br> 119 이름: <input type="text" name="student_name"><br><br>
118 <input type="file" id="fileloader" name="file" onchange="loadFile(event)" autocomplete="off" accept="image/jpeg" required disabled> 120 <input type="file" id="fileloader" name="file" onchange="loadFile(event)" autocomplete="off" accept="image/jpeg" required disabled>
119 <div> 121 <div>
120 - <img id="imagefile">
121 <canvas id="preview"></canvas> 122 <canvas id="preview"></canvas>
122 </div> 123 </div>
123 <input id="sender" type="button" onclick="submit" value="등록" disabled> 124 <input id="sender" type="button" onclick="submit" value="등록" disabled>
......