@@ -70,6 +70,7 @@ void Matrix::Init(Local<Object> target) {
70
70
Nan::SetPrototypeMethod (ctor, " bitwiseNot" , BitwiseNot);
71
71
Nan::SetPrototypeMethod (ctor, " bitwiseAnd" , BitwiseAnd);
72
72
Nan::SetPrototypeMethod (ctor, " countNonZero" , CountNonZero);
73
+ Nan::SetPrototypeMethod (ctor, " moments" , Moments);
73
74
Nan::SetPrototypeMethod (ctor, " canny" , Canny);
74
75
Nan::SetPrototypeMethod (ctor, " dilate" , Dilate);
75
76
Nan::SetPrototypeMethod (ctor, " erode" , Erode);
@@ -1354,6 +1355,45 @@ NAN_METHOD(Matrix::Split) {
1354
1355
info.GetReturnValue().Set(Nan::Null());
1355
1356
} */
1356
1357
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
+
1357
1397
NAN_METHOD (Matrix::Canny) {
1358
1398
Nan::HandleScope scope;
1359
1399
0 commit comments