Skip to content

Commit e8ee284

Browse files
committed
Merge pull request opencv#9713 from huningxin:fix_9712
2 parents d910760 + ea2c13c commit e8ee284

File tree

4 files changed

+30
-20
lines changed

4 files changed

+30
-20
lines changed

doc/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,7 @@ if(BUILD_DOCS AND DOXYGEN_FOUND)
189189
set(haar_cascade_files "")
190190
set(data_harrcascades_path "${OpenCV_SOURCE_DIR}/data/haarcascades/")
191191
list(APPEND js_tutorials_assets_deps "${data_harrcascades_path}/haarcascade_frontalface_default.xml" "${data_harrcascades_path}/haarcascade_eye.xml")
192+
list(APPEND js_assets "${data_harrcascades_path}/haarcascade_frontalface_default.xml" "${data_harrcascades_path}/haarcascade_eye.xml")
192193

193194
foreach(f ${js_assets})
194195
get_filename_component(fname "${f}" NAME)

doc/js_tutorials/js_assets/js_face_detection.html

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -77,18 +77,14 @@ <h2>Face Detection Example</h2>
7777
});
7878

7979
utils.loadOpenCv(() => {
80-
tryIt.removeAttribute('disabled');
80+
let eyeCascadeFile = 'haarcascade_eye.xml';
81+
utils.createFileFromUrl(eyeCascadeFile, eyeCascadeFile, () => {
82+
let faceCascadeFile = 'haarcascade_frontalface_default.xml';
83+
utils.createFileFromUrl(faceCascadeFile, faceCascadeFile, () => {
84+
tryIt.removeAttribute('disabled');
85+
});
86+
});
8187
});
82-
let Module = {
83-
preRun: [function() {
84-
Module.FS_createPreloadedFile('/', 'haarcascade_eye.xml',
85-
'haarcascade_eye.xml', true, false);
86-
let frontalfaceXML = 'haarcascade_frontalface_default.xml';
87-
let frontalfaceDefaultXML = 'haarcascade_frontalface_default.xml';
88-
Module.FS_createPreloadedFile('/', frontalfaceXML,
89-
frontalfaceDefaultXML, true, false);
90-
}],
91-
};
9288
</script>
9389
</body>
9490
</html>

doc/js_tutorials/js_assets/js_face_detection_camera.html

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -131,16 +131,11 @@ <h2>Face Detection Camera Example</h2>
131131
startAndStop.innerText = 'Start';
132132
}
133133

134-
let Module = {
135-
preRun: [function() {
136-
Module.FS_createPreloadedFile(
137-
'/', 'haarcascade_frontalface_default.xml',
138-
'haarcascade_frontalface_default.xml', true, false);
139-
}],
140-
};
141-
142134
utils.loadOpenCv(() => {
143-
startAndStop.removeAttribute('disabled');
135+
let faceCascadeFile = 'haarcascade_frontalface_default.xml';
136+
utils.createFileFromUrl(faceCascadeFile, faceCascadeFile, () => {
137+
startAndStop.removeAttribute('disabled');
138+
});
144139
});
145140
</script>
146141
</body>

doc/js_tutorials/js_assets/utils.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,24 @@ function Utils(errorOutputId) { // eslint-disable-line no-unused-vars
1919
node.parentNode.insertBefore(script, node);
2020
};
2121

22+
this.createFileFromUrl = function(path, url, callback) {
23+
let request = new XMLHttpRequest();
24+
request.open('GET', url, true);
25+
request.responseType = 'arraybuffer';
26+
request.onload = function(ev) {
27+
if (request.readyState === 4) {
28+
if (request.status === 200) {
29+
let data = new Uint8Array(request.response);
30+
cv.FS_createDataFile('/', path, data, true, false, false);
31+
callback();
32+
} else {
33+
self.printError('Failed to load ' + url + ' status: ' + request.status);
34+
}
35+
}
36+
};
37+
request.send();
38+
};
39+
2240
this.loadImageToCanvas = function(url, cavansId) {
2341
let canvas = document.getElementById(cavansId);
2442
let ctx = canvas.getContext('2d');

0 commit comments

Comments
 (0)