mirror of
https://github.com/peterbraden/node-opencv.git
synced 2025-12-08 19:45:55 +00:00
Merge pull request #369 from wenq1/master
Add Moments method for matrix
This commit is contained in:
commit
d7b7161871
@ -85,6 +85,11 @@ void Constants::Init(Local<Object> target) {
|
||||
CONST_ENUM(NORM_RELATIVE);
|
||||
CONST_ENUM(NORM_TYPE_MASK);
|
||||
|
||||
CONST_ENUM(RETR_EXTERNAL);
|
||||
CONST_ENUM(RETR_LIST);
|
||||
CONST_ENUM(RETR_CCOMP);
|
||||
CONST_ENUM(RETR_TREE);
|
||||
|
||||
target->Set(Nan::New("Constants").ToLocalChecked(), obj);
|
||||
}
|
||||
|
||||
|
||||
@ -70,6 +70,7 @@ void Matrix::Init(Local<Object> target) {
|
||||
Nan::SetPrototypeMethod(ctor, "bitwiseNot", BitwiseNot);
|
||||
Nan::SetPrototypeMethod(ctor, "bitwiseAnd", BitwiseAnd);
|
||||
Nan::SetPrototypeMethod(ctor, "countNonZero", CountNonZero);
|
||||
Nan::SetPrototypeMethod(ctor, "moments", Moments);
|
||||
Nan::SetPrototypeMethod(ctor, "canny", Canny);
|
||||
Nan::SetPrototypeMethod(ctor, "dilate", Dilate);
|
||||
Nan::SetPrototypeMethod(ctor, "erode", Erode);
|
||||
@ -1354,6 +1355,45 @@ NAN_METHOD(Matrix::Split) {
|
||||
info.GetReturnValue().Set(Nan::Null());
|
||||
} */
|
||||
|
||||
NAN_METHOD(Matrix::Moments) {
|
||||
Nan::HandleScope scope;
|
||||
|
||||
Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
||||
|
||||
cv::Moments mo = moments( self->mat, false );
|
||||
|
||||
Local<Object> res = Nan::New<Object>();
|
||||
|
||||
res->Set(Nan::New("m00").ToLocalChecked(), Nan::New<Number>(mo.m00));
|
||||
res->Set(Nan::New("m10").ToLocalChecked(), Nan::New<Number>(mo.m10));
|
||||
res->Set(Nan::New("m01").ToLocalChecked(), Nan::New<Number>(mo.m01));
|
||||
res->Set(Nan::New("m20").ToLocalChecked(), Nan::New<Number>(mo.m20));
|
||||
res->Set(Nan::New("m11").ToLocalChecked(), Nan::New<Number>(mo.m11));
|
||||
res->Set(Nan::New("m02").ToLocalChecked(), Nan::New<Number>(mo.m02));
|
||||
res->Set(Nan::New("m30").ToLocalChecked(), Nan::New<Number>(mo.m30));
|
||||
res->Set(Nan::New("m21").ToLocalChecked(), Nan::New<Number>(mo.m21));
|
||||
res->Set(Nan::New("m12").ToLocalChecked(), Nan::New<Number>(mo.m12));
|
||||
res->Set(Nan::New("m03").ToLocalChecked(), Nan::New<Number>(mo.m03));
|
||||
|
||||
res->Set(Nan::New("mu20").ToLocalChecked(), Nan::New<Number>(mo.mu20));
|
||||
res->Set(Nan::New("mu11").ToLocalChecked(), Nan::New<Number>(mo.mu11));
|
||||
res->Set(Nan::New("mu02").ToLocalChecked(), Nan::New<Number>(mo.mu02));
|
||||
res->Set(Nan::New("mu30").ToLocalChecked(), Nan::New<Number>(mo.mu30));
|
||||
res->Set(Nan::New("mu21").ToLocalChecked(), Nan::New<Number>(mo.mu21));
|
||||
res->Set(Nan::New("mu12").ToLocalChecked(), Nan::New<Number>(mo.mu12));
|
||||
res->Set(Nan::New("mu03").ToLocalChecked(), Nan::New<Number>(mo.mu03));
|
||||
|
||||
res->Set(Nan::New("nu20").ToLocalChecked(), Nan::New<Number>(mo.nu20));
|
||||
res->Set(Nan::New("nu11").ToLocalChecked(), Nan::New<Number>(mo.nu11));
|
||||
res->Set(Nan::New("nu02").ToLocalChecked(), Nan::New<Number>(mo.nu02));
|
||||
res->Set(Nan::New("nu30").ToLocalChecked(), Nan::New<Number>(mo.nu30));
|
||||
res->Set(Nan::New("nu21").ToLocalChecked(), Nan::New<Number>(mo.nu21));
|
||||
res->Set(Nan::New("nu12").ToLocalChecked(), Nan::New<Number>(mo.nu12));
|
||||
res->Set(Nan::New("nu03").ToLocalChecked(), Nan::New<Number>(mo.nu03));
|
||||
|
||||
info.GetReturnValue().Set(res);
|
||||
}
|
||||
|
||||
NAN_METHOD(Matrix::Canny) {
|
||||
Nan::HandleScope scope;
|
||||
|
||||
|
||||
@ -74,6 +74,7 @@ public:
|
||||
JSFUNC(BitwiseAnd)
|
||||
JSFUNC(CountNonZero)
|
||||
//JSFUNC(Split)
|
||||
JSFUNC(Moments)
|
||||
JSFUNC(Canny)
|
||||
JSFUNC(Dilate)
|
||||
JSFUNC(Erode)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user