diff --git a/lib/opencv.js b/lib/opencv.js index fb323e1..ccb94c7 100755 --- a/lib/opencv.js +++ b/lib/opencv.js @@ -20,7 +20,15 @@ var matrix = cv.Matrix.prototype; matrix.detectObject = function(classifier, opts, cb){ opts = opts || {} - var face_cascade = new cv.CascadeClassifier(classifier); + cv._detectObjectClassifiers = cv._detectObjectClassifiers || {} + + if (cv._detectObjectClassifiers[classifier]){ + var face_cascade = cv._detectObjectClassifiers[classifier]; + } else{ + var face_cascade = new cv.CascadeClassifier(classifier); + cv._detectObjectClassifiers[classifier] = face_cascade; + } + face_cascade.detectMultiScale(this, cb, opts.scale, opts.neighbors , opts.min && opts.min[0], opts.min && opts.min[1]); }