mirror of
https://github.com/peterbraden/node-opencv.git
synced 2025-12-08 19:45:55 +00:00
add adjustROI
This commit is contained in:
parent
95b2585838
commit
a347ab682e
29
examples/take-face-pics.js
Normal file
29
examples/take-face-pics.js
Normal file
@ -0,0 +1,29 @@
|
||||
var cv = require('../lib/opencv')
|
||||
|
||||
var vid = new cv.VideoCapture(0)
|
||||
|
||||
|
||||
var snap = function(){
|
||||
vid.read(function(im){
|
||||
im.detectObject(cv.FACE_CASCADE, {}, function(err, faces){
|
||||
if (!faces){
|
||||
console.log("No Faces")
|
||||
return;
|
||||
}
|
||||
var face = faces[0]
|
||||
, ims = im.size()
|
||||
|
||||
im.adjustROI(
|
||||
-face.y
|
||||
, (face.y + face.height) - ims[0]
|
||||
, -face.x
|
||||
, (face.x + face.width) - ims[1])
|
||||
|
||||
console.log("!!", im.locateROI());
|
||||
var im2 = im.clone()
|
||||
})
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
snap()
|
||||
@ -70,7 +70,8 @@ NamedWindow::Destroy(const v8::Arguments& args){
|
||||
|
||||
Handle<Value>
|
||||
NamedWindow::BlockingWaitKey(const v8::Arguments& args){
|
||||
SETUP_FUNCTION(NamedWindow)
|
||||
HandleScope scope;
|
||||
//SETUP_FUNCTION(NamedWindow)
|
||||
int time = 0;
|
||||
if (args.Length() > 0){
|
||||
time = args[1]->IntegerValue();
|
||||
|
||||
@ -68,6 +68,8 @@ Matrix::Init(Handle<Object> target) {
|
||||
NODE_SET_PROTOTYPE_METHOD(constructor, "houghLinesP", HoughLinesP);
|
||||
|
||||
NODE_SET_PROTOTYPE_METHOD(constructor, "inRange", inRange);
|
||||
NODE_SET_PROTOTYPE_METHOD(constructor, "adjustROI", AdjustROI);
|
||||
NODE_SET_PROTOTYPE_METHOD(constructor, "locateROI", LocateROI);
|
||||
|
||||
NODE_SET_METHOD(constructor, "Eye", Eye);
|
||||
|
||||
@ -901,3 +903,35 @@ Matrix::inRange(const v8::Arguments& args) {
|
||||
|
||||
return scope.Close(v8::Null());
|
||||
}
|
||||
|
||||
Handle<Value>
|
||||
Matrix::AdjustROI(const v8::Arguments& args) {
|
||||
SETUP_FUNCTION(Matrix)
|
||||
int dtop = args[0]->Uint32Value();
|
||||
int dbottom = args[1]->Uint32Value();
|
||||
int dleft = args[2]->Uint32Value();
|
||||
int dright = args[3]->Uint32Value();
|
||||
|
||||
self->mat.adjustROI(dtop, dbottom, dleft, dright);
|
||||
|
||||
return scope.Close(v8::Null());
|
||||
|
||||
}
|
||||
|
||||
Handle<Value>
|
||||
Matrix::LocateROI(const v8::Arguments& args) {
|
||||
SETUP_FUNCTION(Matrix)
|
||||
|
||||
cv::Size wholeSize;
|
||||
cv::Point ofs;
|
||||
|
||||
self->mat.locateROI(wholeSize, ofs);
|
||||
|
||||
v8::Local<v8::Array> arr = v8::Array::New(4);
|
||||
arr->Set(0, Number::New(wholeSize.width));
|
||||
arr->Set(1, Number::New(wholeSize.height));
|
||||
arr->Set(2, Number::New(ofs.x));
|
||||
arr->Set(3, Number::New(ofs.y));
|
||||
|
||||
return scope.Close(arr);
|
||||
}
|
||||
|
||||
@ -65,6 +65,8 @@ class Matrix: public node::ObjectWrap {
|
||||
|
||||
JSFUNC(inRange)
|
||||
|
||||
JSFUNC(LocateROI)
|
||||
JSFUNC(AdjustROI)
|
||||
/*
|
||||
static Handle<Value> Val(const Arguments& args);
|
||||
static Handle<Value> RowRange(const Arguments& args);
|
||||
@ -86,8 +88,6 @@ class Matrix: public node::ObjectWrap {
|
||||
// create, increment, release
|
||||
static Handle<Value> PushBack(const Arguments& args);
|
||||
static Handle<Value> PopBack(const Arguments& args);
|
||||
static Handle<Value> LocateROI(const Arguments& args);
|
||||
static Handle<Value> AdjustROI(const Arguments& args);
|
||||
static Handle<Value> Total(const Arguments& args);
|
||||
static Handle<Value> IsContinous(const Arguments& args);
|
||||
static Handle<Value> Type(const Arguments& args);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user