diff --git a/src/Matrix.cc b/src/Matrix.cc index 0f01c8c..6ef03e4 100755 --- a/src/Matrix.cc +++ b/src/Matrix.cc @@ -72,6 +72,8 @@ Matrix::Init(Handle target) { NODE_SET_PROTOTYPE_METHOD(constructor, "adjustROI", AdjustROI); NODE_SET_PROTOTYPE_METHOD(constructor, "locateROI", LocateROI); + NODE_SET_PROTOTYPE_METHOD(constructor, "threshold", Threshold); + NODE_SET_METHOD(constructor, "Eye", Eye); @@ -999,3 +1001,19 @@ Matrix::LocateROI(const v8::Arguments& args) { return scope.Close(arr); } + +Handle +Matrix::Threshold(const v8::Arguments& args) { + SETUP_FUNCTION(Matrix) + + double threshold = args[0]->NumberValue(); + double maxVal = args[1]->NumberValue(); + + Local img_to_return = Matrix::constructor->GetFunction()->NewInstance(); + Matrix *img = ObjectWrap::Unwrap(img_to_return); + self->mat.copyTo(img->mat); + + cv::threshold(self->mat, img->mat, threshold, maxVal, cv::THRESH_BINARY); + + return scope.Close(img_to_return); +} diff --git a/src/Matrix.h b/src/Matrix.h index 755c965..22ec85d 100755 --- a/src/Matrix.h +++ b/src/Matrix.h @@ -68,6 +68,8 @@ class Matrix: public node::ObjectWrap { JSFUNC(LocateROI) JSFUNC(AdjustROI) + + JSFUNC(Threshold) /* static Handle Val(const Arguments& args); static Handle RowRange(const Arguments& args);