@@ -40,7 +40,7 @@ namespace MatBindings {
4040 return " " ;
4141 }
4242
43- FF_VAL getReturnValue () {
43+ v8::Local<v8::Value> getReturnValue () {
4444 return Mat::Converter::wrap (returnValue);
4545 }
4646
@@ -88,7 +88,7 @@ namespace MatBindings {
8888 );
8989 }
9090
91- FF_VAL getReturnValue () {
91+ v8::Local<v8::Value> getReturnValue () {
9292 return Mat::Converter::wrap (self);
9393 }
9494 };
@@ -113,7 +113,7 @@ namespace MatBindings {
113113 );
114114 }
115115
116- FF_VAL getReturnValue () {
116+ v8::Local<v8::Value> getReturnValue () {
117117 return Mat::Converter::wrap (self);
118118 }
119119 };
@@ -148,7 +148,7 @@ namespace MatBindings {
148148 free (data);
149149 }
150150
151- FF_VAL getReturnValue () {
151+ v8::Local<v8::Value> getReturnValue () {
152152 return Nan::NewBuffer (data, size, freeBufferCallback, 0 ).ToLocalChecked ();
153153 }
154154 };
@@ -168,7 +168,7 @@ namespace MatBindings {
168168 return " " ;
169169 }
170170
171- FF_VAL getReturnValue () {
171+ v8::Local<v8::Value> getReturnValue () {
172172 return Mat::Converter::wrap (dst);
173173 }
174174
@@ -233,7 +233,7 @@ namespace MatBindings {
233233 }
234234
235235 bool hasOptArgsObject (Nan::NAN_METHOD_ARGS_TYPE info) {
236- return FF_ARG_IS_OBJECT ( 1 );
236+ return FF::isArgObject (info, 1 );
237237 }
238238
239239 bool unwrapOptionalArgsFromOpts (Nan::NAN_METHOD_ARGS_TYPE info) {
@@ -326,11 +326,11 @@ namespace MatBindings {
326326 }
327327
328328 v8::Local<v8::Value> getReturnValue () {
329- FF_OBJ ret = FF_NEW_OBJ ();
330- Nan::Set (ret, FF_NEW_STRING (" minVal" ), Nan::New (minVal));
331- Nan::Set (ret, FF_NEW_STRING (" maxVal" ), Nan::New (maxVal));
332- Nan::Set (ret, FF_NEW_STRING (" minLoc" ), Point2::Converter::wrap (minLoc));
333- Nan::Set (ret, FF_NEW_STRING (" maxLoc" ), Point2::Converter::wrap (maxLoc));
329+ v8::Local<v8::Object> ret = Nan::New<v8::Object> ();
330+ Nan::Set (ret, FF::newString (" minVal" ), Nan::New (minVal));
331+ Nan::Set (ret, FF::newString (" maxVal" ), Nan::New (maxVal));
332+ Nan::Set (ret, FF::newString (" minLoc" ), Point2::Converter::wrap (minLoc));
333+ Nan::Set (ret, FF::newString (" maxLoc" ), Point2::Converter::wrap (maxLoc));
334334 return ret;
335335 }
336336 };
@@ -422,7 +422,7 @@ namespace MatBindings {
422422
423423 cv::Mat dst;
424424
425- FF_VAL getReturnValue () {
425+ v8::Local<v8::Value> getReturnValue () {
426426 return Mat::Converter::wrap (dst);
427427 }
428428
@@ -474,11 +474,11 @@ namespace MatBindings {
474474 }
475475
476476 bool hasOptArgsObject (Nan::NAN_METHOD_ARGS_TYPE info) {
477- return FF_ARG_IS_OBJECT ( 0 );
477+ return FF::isArgObject (info, 0 );
478478 }
479479
480480 bool unwrapOptionalArgsFromOpts (Nan::NAN_METHOD_ARGS_TYPE info) {
481- FF_OBJ opts = info[0 ]->ToObject (Nan::GetCurrentContext ()).ToLocalChecked ();
481+ v8::Local<v8::Object> opts = info[0 ]->ToObject (Nan::GetCurrentContext ()).ToLocalChecked ();
482482 return (
483483 IntConverter::optProp (&flags, " flags" , opts) ||
484484 IntConverter::optProp (&nonzeroRows, " nonzeroRows" , opts)
@@ -507,7 +507,7 @@ namespace MatBindings {
507507 return " " ;
508508 }
509509
510- FF_VAL getReturnValue () {
510+ v8::Local<v8::Value> getReturnValue () {
511511 return Mat::Converter::wrap (dst);
512512 }
513513
@@ -523,11 +523,11 @@ namespace MatBindings {
523523 }
524524
525525 bool hasOptArgsObject (Nan::NAN_METHOD_ARGS_TYPE info) {
526- return FF_ARG_IS_OBJECT ( 1 );
526+ return FF::isArgObject (info, 1 );
527527 }
528528
529529 bool unwrapOptionalArgsFromOpts (Nan::NAN_METHOD_ARGS_TYPE info) {
530- FF_OBJ opts = info[1 ]->ToObject (Nan::GetCurrentContext ()).ToLocalChecked ();
530+ v8::Local<v8::Object> opts = info[1 ]->ToObject (Nan::GetCurrentContext ()).ToLocalChecked ();
531531 return (
532532 BoolConverter::optProp (&dftRows, " dftRows" , opts) ||
533533 BoolConverter::optProp (&conjB, " conjB" , opts)
@@ -670,7 +670,7 @@ namespace MatBindings {
670670 }
671671
672672 bool hasOptArgsObject (Nan::NAN_METHOD_ARGS_TYPE info) {
673- return FF_ARG_IS_OBJECT ( 0 );
673+ return FF::isArgObject (info, 0 );
674674 }
675675
676676 bool unwrapOptionalArgsFromOpts (Nan::NAN_METHOD_ARGS_TYPE info) {
@@ -735,7 +735,7 @@ namespace MatBindings {
735735 }
736736
737737 bool hasOptArgsObject (Nan::NAN_METHOD_ARGS_TYPE info) {
738- return FF_ARG_IS_OBJECT ( 3 );
738+ return FF::isArgObject (info, 3 );
739739 }
740740
741741 bool unwrapOptionalArgsFromOpts (Nan::NAN_METHOD_ARGS_TYPE info) {
@@ -767,7 +767,7 @@ namespace MatBindings {
767767 return " " ;
768768 }
769769
770- FF_VAL getReturnValue () {
770+ v8::Local<v8::Value> getReturnValue () {
771771 return ObjectArrayConverter<Point2, cv::Point2f>::wrap (corners);
772772 }
773773 };
@@ -883,7 +883,7 @@ namespace MatBindings {
883883 }
884884
885885 bool hasOptArgsObject (Nan::NAN_METHOD_ARGS_TYPE info) {
886- return FF_ARG_IS_OBJECT ( 4 );
886+ return FF::isArgObject (info, 4 );
887887 }
888888
889889 bool unwrapOptionalArgsFromOpts (Nan::NAN_METHOD_ARGS_TYPE info) {
@@ -986,6 +986,56 @@ namespace MatBindings {
986986 );
987987 }
988988 };
989+
990+ struct NormalizeWorker : public CatchCvExceptionWorker {
991+ public:
992+ cv::Mat self;
993+ NormalizeWorker (cv::Mat self) {
994+ this ->self = self;
995+ }
996+
997+ double alpha = 1 ;
998+ double beta = 0 ;
999+ int norm_type = cv::NORM_L2;
1000+ int dtype = -1 ;
1001+ cv::Mat mask = cv::noArray().getMat();
1002+
1003+ cv::Mat returnValue;
1004+
1005+ std::string executeCatchCvExceptionWorker () {
1006+ cv::normalize (self, returnValue, alpha, beta, norm_type, dtype, mask);
1007+ return " " ;
1008+ }
1009+
1010+ v8::Local<v8::Value> getReturnValue () {
1011+ return Mat::Converter::wrap (returnValue);
1012+ }
1013+
1014+ bool unwrapOptionalArgs (Nan::NAN_METHOD_ARGS_TYPE info) {
1015+ return (
1016+ DoubleConverter::optArg (0 , &alpha, info) ||
1017+ DoubleConverter::optArg (1 , &beta, info) ||
1018+ IntConverter::optArg (2 , &norm_type, info) ||
1019+ IntConverter::optArg (3 , &dtype, info) ||
1020+ Mat::Converter::optArg (4 , &mask, info)
1021+ );
1022+ }
1023+
1024+ bool hasOptArgsObject (Nan::NAN_METHOD_ARGS_TYPE info) {
1025+ return FF::isArgObject (info, 0 );
1026+ }
1027+
1028+ bool unwrapOptionalArgsFromOpts (Nan::NAN_METHOD_ARGS_TYPE info) {
1029+ v8::Local<v8::Object> opts = info[0 ]->ToObject (Nan::GetCurrentContext ()).ToLocalChecked ();
1030+ return (
1031+ DoubleConverter::optProp (&alpha, " alpha" , opts) ||
1032+ DoubleConverter::optProp (&beta, " beta" , opts) ||
1033+ IntConverter::optProp (&norm_type, " normType" , opts) ||
1034+ IntConverter::optProp (&dtype, " dtype" , opts) ||
1035+ Mat::Converter::optProp (&mask, " mask" , opts)
1036+ );
1037+ }
1038+ };
9891039
9901040#if CV_VERSION_MINOR > 1
9911041 struct RotateWorker : public OpWithCodeWorker {
0 commit comments