@@ -70,6 +70,7 @@ void Matrix::Init(Local<Object> target) {
7070 Nan::SetPrototypeMethod (ctor, " bitwiseNot" , BitwiseNot);
7171 Nan::SetPrototypeMethod (ctor, " bitwiseAnd" , BitwiseAnd);
7272 Nan::SetPrototypeMethod (ctor, " countNonZero" , CountNonZero);
73+ Nan::SetPrototypeMethod (ctor, " moments" , Moments);
7374 Nan::SetPrototypeMethod (ctor, " canny" , Canny);
7475 Nan::SetPrototypeMethod (ctor, " dilate" , Dilate);
7576 Nan::SetPrototypeMethod (ctor, " erode" , Erode);
@@ -1354,6 +1355,45 @@ NAN_METHOD(Matrix::Split) {
13541355 info.GetReturnValue().Set(Nan::Null());
13551356} */
13561357
1358+ NAN_METHOD (Matrix::Moments) {
1359+ Nan::HandleScope scope;
1360+
1361+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This ());
1362+
1363+ cv::Moments mo = moments ( self->mat , false );
1364+
1365+ Local<Object> res = Nan::New<Object>();
1366+
1367+ res->Set (Nan::New (" m00" ).ToLocalChecked (), Nan::New<Number>(mo.m00 ));
1368+ res->Set (Nan::New (" m10" ).ToLocalChecked (), Nan::New<Number>(mo.m10 ));
1369+ res->Set (Nan::New (" m01" ).ToLocalChecked (), Nan::New<Number>(mo.m01 ));
1370+ res->Set (Nan::New (" m20" ).ToLocalChecked (), Nan::New<Number>(mo.m20 ));
1371+ res->Set (Nan::New (" m11" ).ToLocalChecked (), Nan::New<Number>(mo.m11 ));
1372+ res->Set (Nan::New (" m02" ).ToLocalChecked (), Nan::New<Number>(mo.m02 ));
1373+ res->Set (Nan::New (" m30" ).ToLocalChecked (), Nan::New<Number>(mo.m30 ));
1374+ res->Set (Nan::New (" m21" ).ToLocalChecked (), Nan::New<Number>(mo.m21 ));
1375+ res->Set (Nan::New (" m12" ).ToLocalChecked (), Nan::New<Number>(mo.m12 ));
1376+ res->Set (Nan::New (" m03" ).ToLocalChecked (), Nan::New<Number>(mo.m03 ));
1377+
1378+ res->Set (Nan::New (" mu20" ).ToLocalChecked (), Nan::New<Number>(mo.mu20 ));
1379+ res->Set (Nan::New (" mu11" ).ToLocalChecked (), Nan::New<Number>(mo.mu11 ));
1380+ res->Set (Nan::New (" mu02" ).ToLocalChecked (), Nan::New<Number>(mo.mu02 ));
1381+ res->Set (Nan::New (" mu30" ).ToLocalChecked (), Nan::New<Number>(mo.mu30 ));
1382+ res->Set (Nan::New (" mu21" ).ToLocalChecked (), Nan::New<Number>(mo.mu21 ));
1383+ res->Set (Nan::New (" mu12" ).ToLocalChecked (), Nan::New<Number>(mo.mu12 ));
1384+ res->Set (Nan::New (" mu03" ).ToLocalChecked (), Nan::New<Number>(mo.mu03 ));
1385+
1386+ res->Set (Nan::New (" nu20" ).ToLocalChecked (), Nan::New<Number>(mo.nu20 ));
1387+ res->Set (Nan::New (" nu11" ).ToLocalChecked (), Nan::New<Number>(mo.nu11 ));
1388+ res->Set (Nan::New (" nu02" ).ToLocalChecked (), Nan::New<Number>(mo.nu02 ));
1389+ res->Set (Nan::New (" nu30" ).ToLocalChecked (), Nan::New<Number>(mo.nu30 ));
1390+ res->Set (Nan::New (" nu21" ).ToLocalChecked (), Nan::New<Number>(mo.nu21 ));
1391+ res->Set (Nan::New (" nu12" ).ToLocalChecked (), Nan::New<Number>(mo.nu12 ));
1392+ res->Set (Nan::New (" nu03" ).ToLocalChecked (), Nan::New<Number>(mo.nu03 ));
1393+
1394+ info.GetReturnValue ().Set (res);
1395+ }
1396+
13571397NAN_METHOD (Matrix::Canny) {
13581398 Nan::HandleScope scope;
13591399
0 commit comments