Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Add bindings for cv::inRange
  • Loading branch information
gluxon committed Jan 27, 2013
1 parent 644f679 commit 22bdf64
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 0 deletions.
12 changes: 12 additions & 0 deletions examples/color_filter.js
@@ -0,0 +1,12 @@
var cv = require('../lib/opencv');

// (B)lue, (G)reen, (R)ed
var lower_threshold = [46, 57, 83];
var upper_threshold = [80, 96, 115];

cv.readImage('./coin1.jpg', function(err, im) {

im.inRange(lower_threshold, upper_threshold);
im.save('./coin_detected.jpg');

});
30 changes: 30 additions & 0 deletions src/Matrix.cc
Expand Up @@ -62,6 +62,8 @@ Matrix::Init(Handle<Object> target) {
NODE_SET_PROTOTYPE_METHOD(constructor, "goodFeaturesToTrack", GoodFeaturesToTrack);
NODE_SET_PROTOTYPE_METHOD(constructor, "houghLinesP", HoughLinesP);

NODE_SET_PROTOTYPE_METHOD(constructor, "inRange", inRange);

NODE_SET_METHOD(constructor, "Eye", Eye);


Expand Down Expand Up @@ -795,3 +797,31 @@ Matrix::Resize(const v8::Arguments& args){

return scope.Close(Undefined());
}


Handle<Value>
Matrix::inRange(const v8::Arguments& args) {
HandleScope scope;

Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
/*if(self->mat.channels() != 3)
return v8::ThrowException(String::New("Image is no 3-channel"));*/

if(args[0]->IsArray() && args[1]->IsArray()) {
Local<Object> args_lowerb = args[0]->ToObject();
Local<Object> args_upperb = args[1]->ToObject();

cv::Scalar lowerb(0, 0, 0);
cv::Scalar upperb(0, 0, 0);

lowerb = setColor(args_lowerb);
upperb = setColor(args_upperb);

cv::Mat mask;
cv::inRange(self->mat, lowerb, upperb, mask);
mask.copyTo(self->mat);
}


return scope.Close(v8::Null());
}
2 changes: 2 additions & 0 deletions src/Matrix.h
Expand Up @@ -58,6 +58,8 @@ class Matrix: public node::ObjectWrap {
JSFUNC(GoodFeaturesToTrack)
JSFUNC(HoughLinesP)

JSFUNC(inRange)

/*
static Handle<Value> Val(const Arguments& args);
static Handle<Value> RowRange(const Arguments& args);
Expand Down

0 comments on commit 22bdf64

Please sign in to comment.