Showing
1 changed file
with
9 additions
and
8 deletions
... | @@ -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> | ... | ... |
-
Please register or login to post a comment