Graduate

Change register method

...@@ -39,9 +39,9 @@ function init() ...@@ -39,9 +39,9 @@ function init()
39 load_cascade(); 39 load_cascade();
40 }); 40 });
41 }).catch(function (err0r) { 41 }).catch(function (err0r) {
42 - console.log("Something went wrong!"); 42 + console.log("Something went wrong!");
43 - streaming = false; 43 + streaming = false;
44 - }); 44 + });
45 } 45 }
46 } 46 }
47 47
...@@ -63,7 +63,6 @@ function main() ...@@ -63,7 +63,6 @@ function main()
63 let canvasContext = canvasOutput.getContext('2d'); 63 let canvasContext = canvasOutput.getContext('2d');
64 let src = new cv.Mat(video.height, video.width, cv.CV_8UC4); 64 let src = new cv.Mat(video.height, video.width, cv.CV_8UC4);
65 let dst = new cv.Mat(video.height, video.width, cv.CV_8UC4); 65 let dst = new cv.Mat(video.height, video.width, cv.CV_8UC4);
66 - // let gray = new cv.Mat();
67 let cap = new cv.VideoCapture(video); 66 let cap = new cv.VideoCapture(video);
68 let faces = new cv.RectVector(); 67 let faces = new cv.RectVector();
69 let classifier = new cv.CascadeClassifier(); 68 let classifier = new cv.CascadeClassifier();
...@@ -105,7 +104,6 @@ function main() ...@@ -105,7 +104,6 @@ function main()
105 // clean and stop. 104 // clean and stop.
106 src.delete(); 105 src.delete();
107 dst.delete(); 106 dst.delete();
108 - gray.delete();
109 faces.delete(); 107 faces.delete();
110 classifier.delete(); 108 classifier.delete();
111 return; 109 return;
...@@ -115,7 +113,6 @@ function main() ...@@ -115,7 +113,6 @@ function main()
115 cap.read(src); 113 cap.read(src);
116 cv.flip(src, src, 1); 114 cv.flip(src, src, 1);
117 src.copyTo(dst); 115 src.copyTo(dst);
118 - // cv.cvtColor(dst, gray, cv.COLOR_RGBA2GRAY, 0);
119 // detect faces. 116 // detect faces.
120 let msize = new cv.Size(video.width / 4, video.height / 4); 117 let msize = new cv.Size(video.width / 4, video.height / 4);
121 classifier.detectMultiScale(dst, faces, 1.1, 3, 0, msize); 118 classifier.detectMultiScale(dst, faces, 1.1, 3, 0, msize);
......
...@@ -95,7 +95,6 @@ function main() ...@@ -95,7 +95,6 @@ function main()
95 // clean and stop. 95 // clean and stop.
96 src.delete(); 96 src.delete();
97 dst.delete(); 97 dst.delete();
98 - gray.delete();
99 faces.delete(); 98 faces.delete();
100 classifier.delete(); 99 classifier.delete();
101 return; 100 return;
...@@ -105,7 +104,6 @@ function main() ...@@ -105,7 +104,6 @@ function main()
105 cap.read(src); 104 cap.read(src);
106 cv.flip(src, src, 1); 105 cv.flip(src, src, 1);
107 src.copyTo(dst); 106 src.copyTo(dst);
108 - // cv.cvtColor(dst, gray, cv.COLOR_RGBA2GRAY, 0);
109 // detect faces. 107 // detect faces.
110 let msize = new cv.Size(video.width / 4, video.height / 4); 108 let msize = new cv.Size(video.width / 4, video.height / 4);
111 classifier.detectMultiScale(dst, faces, 1.1, 3, 0, msize); 109 classifier.detectMultiScale(dst, faces, 1.1, 3, 0, msize);
...@@ -125,6 +123,7 @@ function main() ...@@ -125,6 +123,7 @@ function main()
125 // 1초동안 인식되면 사진 촬영 종료하고 등록 버튼 활성화 123 // 1초동안 인식되면 사진 촬영 종료하고 등록 버튼 활성화
126 b64encoded = tempCanvas.toDataURL("image/jpeg", 1.0); 124 b64encoded = tempCanvas.toDataURL("image/jpeg", 1.0);
127 toggle_streaming(); 125 toggle_streaming();
126 + change_notice("촬영 완료! 정보를 등록해주세요");
128 activate_sender(); 127 activate_sender();
129 } 128 }
130 } 129 }
...@@ -150,13 +149,23 @@ function toggle_streaming() ...@@ -150,13 +149,23 @@ function toggle_streaming()
150 { 149 {
151 streamButton = document.getElementById("streamButton"); 150 streamButton = document.getElementById("streamButton");
152 streaming = !streaming; 151 streaming = !streaming;
153 - if (streaming) 152 + if (streaming){
154 streamButton.value = "촬영중지"; 153 streamButton.value = "촬영중지";
155 - else 154 + change_notice("1초 후 얼굴을 촬영합니다");
155 + }
156 + else{
156 streamButton.value = "촬영시작"; 157 streamButton.value = "촬영시작";
158 + change_notice("촬영이 중지되었습니다");
159 + }
157 main(); 160 main();
158 } 161 }
159 162
163 +function change_notice(text)
164 +{
165 + let notice = document.getElementById("notice");
166 + notice.innerHTML = text;
167 +}
168 +
160 function submit() 169 function submit()
161 { 170 {
162 let student_id = document.getElementById('student_id').value; 171 let student_id = document.getElementById('student_id').value;
...@@ -191,7 +200,7 @@ and is wrapped around the whole page content, except for the footer in this exam ...@@ -191,7 +200,7 @@ and is wrapped around the whole page content, except for the footer in this exam
191 </header> 200 </header>
192 201
193 <div class="w3-row", style='text-align:center'> 202 <div class="w3-row", style='text-align:center'>
194 - <h2><b>얼굴을 등록해주세요 (jpeg only)</b></h2> 203 + <h2 id="notice"><b>1초 후 얼굴을 촬영합니다</b></h2>
195 <div id="container"> 204 <div id="container">
196 <video autoplay="true" id="videoInput" style="display: none; object-fit: cover;"></video> 205 <video autoplay="true" id="videoInput" style="display: none; object-fit: cover;"></video>
197 <canvas id="canvasOutput"></canvas> 206 <canvas id="canvasOutput"></canvas>
......