From f5df8f6599c4dbc80f222f790beb48ed18ec395e Mon Sep 17 00:00:00 2001 From: Alessio Caiazza Date: Thu, 9 May 2013 18:03:38 +0200 Subject: [PATCH] meanStdDev for Matrix --- src/Matrix.cc | 21 +++++++++++++++++++++ src/Matrix.h | 2 ++ 2 files changed, 23 insertions(+) diff --git a/src/Matrix.cc b/src/Matrix.cc index 1f13c9d..f8999b3 100755 --- a/src/Matrix.cc +++ b/src/Matrix.cc @@ -75,6 +75,8 @@ Matrix::Init(Handle target) { NODE_SET_PROTOTYPE_METHOD(constructor, "adjustROI", AdjustROI); NODE_SET_PROTOTYPE_METHOD(constructor, "locateROI", LocateROI); + NODE_SET_PROTOTYPE_METHOD(constructor, "meanStdDev", MeanStdDev); + NODE_SET_METHOD(constructor, "Eye", Eye); @@ -1074,3 +1076,22 @@ Matrix::LocateROI(const v8::Arguments& args) { return scope.Close(arr); } + +Handle +Matrix::MeanStdDev(const v8::Arguments& args) { + HandleScope scope; + + Matrix *self = ObjectWrap::Unwrap(args.This()); + + Local mean = Matrix::constructor->GetFunction()->NewInstance(); + Matrix *m_mean = ObjectWrap::Unwrap(mean); + Local stddev = Matrix::constructor->GetFunction()->NewInstance(); + Matrix *m_stddev = ObjectWrap::Unwrap(stddev); + + cv::meanStdDev(self->mat, m_mean->mat, m_stddev->mat); + + Local data = Object::New(); + data->Set(String::NewSymbol("mean"), mean); + data->Set(String::NewSymbol("stddev"), stddev); + return scope.Close(data); +} diff --git a/src/Matrix.h b/src/Matrix.h index fde09c3..037952a 100755 --- a/src/Matrix.h +++ b/src/Matrix.h @@ -71,6 +71,8 @@ class Matrix: public node::ObjectWrap { JSFUNC(LocateROI) JSFUNC(AdjustROI) + + JSFUNC(MeanStdDev) /* static Handle Val(const Arguments& args); static Handle RowRange(const Arguments& args);