From dfddda739de882cc684f4bb2e5d17248d9315e2d Mon Sep 17 00:00:00 2001 From: "Morgan 'ARR\\!' Allen" Date: Wed, 12 Mar 2014 19:06:46 -0700 Subject: [PATCH] added adaptiveThreshold --- src/Matrix.cc | 20 ++++++++++++++++++++ src/Matrix.h | 1 + 2 files changed, 21 insertions(+) diff --git a/src/Matrix.cc b/src/Matrix.cc index fedb04c..5fb6c43 100755 --- a/src/Matrix.cc +++ b/src/Matrix.cc @@ -83,6 +83,7 @@ Matrix::Init(Handle target) { NODE_SET_PROTOTYPE_METHOD(constructor, "locateROI", LocateROI); NODE_SET_PROTOTYPE_METHOD(constructor, "threshold", Threshold); + NODE_SET_PROTOTYPE_METHOD(constructor, "adaptiveThreshold", AdaptiveThreshold); NODE_SET_PROTOTYPE_METHOD(constructor, "meanStdDev", MeanStdDev); NODE_SET_PROTOTYPE_METHOD(constructor, "cvtColor", CvtColor); @@ -1338,6 +1339,25 @@ Matrix::Threshold(const v8::Arguments& args) { return scope.Close(img_to_return); } +Handle +Matrix::AdaptiveThreshold(const v8::Arguments& args) { + SETUP_FUNCTION(Matrix) + + double maxVal = args[0]->NumberValue(); + double adaptiveMethod = args[1]->NumberValue(); + double thresholdType = args[2]->NumberValue(); + double blockSize = args[3]->NumberValue(); + double C = args[4]->NumberValue(); + + Local img_to_return = Matrix::constructor->GetFunction()->NewInstance(); + Matrix *img = ObjectWrap::Unwrap(img_to_return); + self->mat.copyTo(img->mat); + + cv::adaptiveThreshold(self->mat, img->mat, maxVal, adaptiveMethod, thresholdType, blockSize, C); + + return scope.Close(img_to_return); +} + Handle Matrix::MeanStdDev(const v8::Arguments& args) { HandleScope scope; diff --git a/src/Matrix.h b/src/Matrix.h index 5424597..58db5ac 100755 --- a/src/Matrix.h +++ b/src/Matrix.h @@ -75,6 +75,7 @@ class Matrix: public node::ObjectWrap { JSFUNC(AdjustROI) JSFUNC(Threshold) + JSFUNC(AdaptiveThreshold) JSFUNC(MeanStdDev) JSFUNC(CopyTo)