diff --git a/binding.gyp b/binding.gyp index 72df9f3..6d810ac 100755 --- a/binding.gyp +++ b/binding.gyp @@ -1,7 +1,7 @@ { - "targets": [{ + "targets": [{ "target_name": "opencv" - , "sources": [ + , "sources": [ "src/init.cc" , "src/Matrix.cc" , "src/OpenCV.cc" @@ -13,16 +13,17 @@ , "src/HighGUI.cc" , "src/FaceRecognizer.cc" , "src/BackgroundSubtractor.cc" + , "src/Constants.cc" ] , 'libraries': [ '= 2.3.1" )' , '-Wall' @@ -42,9 +43,8 @@ , "GCC_ENABLE_CPP_RTTI": "YES" , "GCC_ENABLE_CPP_EXCEPTIONS": "YES" } - }] - + }] + ] }] } - diff --git a/src/Constants.cc b/src/Constants.cc new file mode 100644 index 0000000..3a3087e --- /dev/null +++ b/src/Constants.cc @@ -0,0 +1,58 @@ +#include "OpenCV.h" +#include "Constants.h" + +#define CONST(C) inner->Set(String::NewSymbol(#C), Integer::New(C)); + +void +Constants::Init(Handle target) { + + Persistent inner = Persistent::New(Object::New()); + + CONST(CV_8U); + CONST(CV_8S); + CONST(CV_16U); + CONST(CV_16S); + CONST(CV_32S); + CONST(CV_32F); + CONST(CV_64F); + CONST(CV_USRTYPE1); + + CONST(CV_8UC1); + CONST(CV_8UC2); + CONST(CV_8UC3); + CONST(CV_8UC4); + + CONST(CV_8SC1); + CONST(CV_8SC2); + CONST(CV_8SC3); + CONST(CV_8SC4); + + CONST(CV_16UC1); + CONST(CV_16UC2); + CONST(CV_16UC3); + CONST(CV_16UC4); + + CONST(CV_16SC1); + CONST(CV_16SC2); + CONST(CV_16SC3); + CONST(CV_16SC4); + + CONST(CV_32SC1); + CONST(CV_32SC2); + CONST(CV_32SC3); + CONST(CV_32SC4); + + CONST(CV_32FC1); + CONST(CV_32FC2); + CONST(CV_32FC3); + CONST(CV_32FC4); + + CONST(CV_64FC1); + CONST(CV_64FC2); + CONST(CV_64FC3); + CONST(CV_64FC4); + + target->Set(String::NewSymbol("Constants"), inner); +} + +#undef CONST diff --git a/src/Constants.h b/src/Constants.h new file mode 100644 index 0000000..cd1032e --- /dev/null +++ b/src/Constants.h @@ -0,0 +1,6 @@ +#include "OpenCV.h" + +class Constants: public node::ObjectWrap { + public: + static void Init(Handle target); +}; diff --git a/src/init.cc b/src/init.cc index 1610800..fa3a05a 100755 --- a/src/init.cc +++ b/src/init.cc @@ -7,6 +7,7 @@ #include "CamShift.h" #include "HighGUI.h" #include "FaceRecognizer.h" +#include "Constants.h" extern "C" void @@ -20,6 +21,8 @@ init(Handle target) { Contour::Init(target); TrackedObject::Init(target); NamedWindow::Init(target); + Constants::Init(target); + #if CV_MAJOR_VERSION >= 2 && CV_MINOR_VERSION >=4 FaceRecognizerWrap::Init(target);