Add bitwiseXor and absDiff to Matrix operations

This commit is contained in:
Tim Park 2013-07-28 11:25:01 -07:00
parent b8ec62e5f8
commit 4ce14beb96
2 changed files with 31 additions and 0 deletions

View File

@ -58,7 +58,9 @@ Matrix::Init(Handle<Object> target) {
NODE_SET_PROTOTYPE_METHOD(constructor, "flip", Flip);
NODE_SET_PROTOTYPE_METHOD(constructor, "roi", ROI);
NODE_SET_PROTOTYPE_METHOD(constructor, "ptr", Ptr);
NODE_SET_PROTOTYPE_METHOD(constructor, "absDiff", AbsDiff);
NODE_SET_PROTOTYPE_METHOD(constructor, "addWeighted", AddWeighted);
NODE_SET_PROTOTYPE_METHOD(constructor, "bitwiseXor", BitwiseXor);
NODE_SET_PROTOTYPE_METHOD(constructor, "split", Split);
NODE_SET_PROTOTYPE_METHOD(constructor, "canny", Canny);
NODE_SET_PROTOTYPE_METHOD(constructor, "dilate", Dilate);
@ -767,6 +769,20 @@ Matrix::Ptr(const v8::Arguments& args) {
// return Undefined();
}
Handle<Value>
Matrix::AbsDiff(const v8::Arguments& args) {
HandleScope scope;
Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
Matrix *src1 = ObjectWrap::Unwrap<Matrix>(args[0]->ToObject());
Matrix *src2 = ObjectWrap::Unwrap<Matrix>(args[1]->ToObject());
cv::absdiff(src1->mat, src2->mat, self->mat);
return scope.Close(v8::Null());
}
Handle<Value>
Matrix::AddWeighted(const v8::Arguments& args) {
HandleScope scope;
@ -786,6 +802,19 @@ Matrix::AddWeighted(const v8::Arguments& args) {
return scope.Close(v8::Null());
}
Handle<Value>
Matrix::BitwiseXor(const v8::Arguments& args) {
HandleScope scope;
Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
Matrix *src1 = ObjectWrap::Unwrap<Matrix>(args[0]->ToObject());
Matrix *src2 = ObjectWrap::Unwrap<Matrix>(args[1]->ToObject());
cv::bitwise_xor(src1->mat, src2->mat, self->mat);
return scope.Close(v8::Null());
}
Handle<Value>
Matrix::Split(const v8::Arguments& args) {

View File

@ -53,7 +53,9 @@ class Matrix: public node::ObjectWrap {
JSFUNC(Flip)
JSFUNC(ROI)
JSFUNC(Ptr)
JSFUNC(AbsDiff)
JSFUNC(AddWeighted)
JSFUNC(BitwiseXor)
JSFUNC(Split)
JSFUNC(Canny)
JSFUNC(Dilate)