mirror of
https://github.com/peterbraden/node-opencv.git
synced 2025-12-08 19:45:55 +00:00
Correct basic case with feedback from jraadt
This commit is contained in:
parent
053a693c9a
commit
b8ce5d0def
@ -11,7 +11,7 @@ for (var i = 1; i< 41; i++){
|
|||||||
var facerec = new cv.FaceRecognizer();
|
var facerec = new cv.FaceRecognizer();
|
||||||
facerec.train(trainingData);
|
facerec.train(trainingData);
|
||||||
|
|
||||||
console.log(facerec.predictSync('/Users/peterbraden/Downloads/orl_faces/s1/10.pgm'));
|
console.log(facerec.predictSync('/Users/peterbraden/Downloads/orl_faces/s6/10.pgm'));
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@ -49,8 +49,8 @@ FaceRecognizerWrap::New(const Arguments &args) {
|
|||||||
if (args.This()->InternalFieldCount() == 0)
|
if (args.This()->InternalFieldCount() == 0)
|
||||||
JSTHROW_TYPE("Cannot Instantiate without new")
|
JSTHROW_TYPE("Cannot Instantiate without new")
|
||||||
|
|
||||||
// By default initialize eigenface
|
// By default initialize LBPH
|
||||||
cv::Ptr<cv::FaceRecognizer> f = cv::createEigenFaceRecognizer();
|
cv::Ptr<cv::FaceRecognizer> f = cv::createLBPHFaceRecognizer(1, 8, 8, 8, 80.0);
|
||||||
FaceRecognizerWrap *pt = new FaceRecognizerWrap(f);
|
FaceRecognizerWrap *pt = new FaceRecognizerWrap(f);
|
||||||
|
|
||||||
pt->Wrap(args.This());
|
pt->Wrap(args.This());
|
||||||
@ -90,6 +90,8 @@ FaceRecognizerWrap::Train(const Arguments& args){
|
|||||||
|
|
||||||
int label = valarr->Get(0)->Uint32Value();
|
int label = valarr->Get(0)->Uint32Value();
|
||||||
cv::Mat im = fromMatrixOrFilename(valarr->Get(1));
|
cv::Mat im = fromMatrixOrFilename(valarr->Get(1));
|
||||||
|
im = im.clone();
|
||||||
|
cv::cvtColor(im, im, CV_RGB2GRAY);
|
||||||
labels.push_back(label);
|
labels.push_back(label);
|
||||||
images.push_back(im);
|
images.push_back(im);
|
||||||
}
|
}
|
||||||
@ -111,8 +113,11 @@ FaceRecognizerWrap::PredictSync(const Arguments& args){
|
|||||||
int predictedLabel = -1;
|
int predictedLabel = -1;
|
||||||
double confidence = 0.0;
|
double confidence = 0.0;
|
||||||
self->rec->predict(im, predictedLabel, confidence);
|
self->rec->predict(im, predictedLabel, confidence);
|
||||||
// std::cout << confidence;
|
|
||||||
return scope.Close(Number::New(predictedLabel));
|
|
||||||
|
|
||||||
|
v8::Local<v8::Object> res = v8::Object::New();
|
||||||
|
res->Set(v8::String::New("id"), v8::Number::New(predictedLabel));
|
||||||
|
res->Set(v8::String::New("confidence"), v8::Number::New(confidence));
|
||||||
|
|
||||||
|
return scope.Close(res);
|
||||||
}
|
}
|
||||||
#endif // End version > 2.4
|
#endif // End version > 2.4
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user