mirror of
https://github.com/peterbraden/node-opencv.git
synced 2025-12-08 19:45:55 +00:00
Merge branch 'master' of github.com:peterbraden/node-opencv
This commit is contained in:
commit
642f111f9d
12
examples/color_filter.js
Normal file
12
examples/color_filter.js
Normal file
@ -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');
|
||||
|
||||
});
|
||||
@ -1,5 +1,5 @@
|
||||
var Stream = require('stream').Stream
|
||||
, Buffers = require('buffer')
|
||||
, Buffers = require('buffers')
|
||||
, util = require('util');
|
||||
|
||||
var bindings = require('./bindings')
|
||||
|
||||
@ -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);
|
||||
|
||||
|
||||
@ -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());
|
||||
}
|
||||
|
||||
@ -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);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user