mirror of
https://github.com/peterbraden/node-opencv.git
synced 2025-12-08 19:45:55 +00:00
Merge pull request #212 from scanlime/master
Build-related fixes in src/Matrix.cc
This commit is contained in:
commit
52de1e706c
@ -7,7 +7,7 @@ v8::Persistent<FunctionTemplate> Matrix::constructor;
|
|||||||
|
|
||||||
cv::Scalar setColor(Local<Object> objColor);
|
cv::Scalar setColor(Local<Object> objColor);
|
||||||
cv::Point setPoint(Local<Object> objPoint);
|
cv::Point setPoint(Local<Object> objPoint);
|
||||||
cv::Rect* setRect(Local<Object> objRect);
|
cv::Rect* setRect(Local<Object> objRect, cv::Rect &result);
|
||||||
|
|
||||||
void
|
void
|
||||||
Matrix::Init(Handle<Object> target) {
|
Matrix::Init(Handle<Object> target) {
|
||||||
@ -452,7 +452,7 @@ NAN_METHOD(Matrix::ToBuffer){
|
|||||||
|
|
||||||
v8::Local<v8::Object> globalObj = NanGetCurrentContext()->Global();
|
v8::Local<v8::Object> globalObj = NanGetCurrentContext()->Global();
|
||||||
v8::Local<v8::Function> bufferConstructor = v8::Local<v8::Function>::Cast(globalObj->Get(NanNew<String>("Buffer")));
|
v8::Local<v8::Function> bufferConstructor = v8::Local<v8::Function>::Cast(globalObj->Get(NanNew<String>("Buffer")));
|
||||||
v8::Handle<v8::Value> constructorArgs[3] = {buf, NanNew<v8::Integer>(vec.size()), NanNew<v8::Integer>(0)};
|
v8::Handle<v8::Value> constructorArgs[3] = {buf, NanNew<v8::Integer>((unsigned)vec.size()), NanNew<v8::Integer>(0)};
|
||||||
v8::Local<v8::Object> actualBuffer = bufferConstructor->NewInstance(3, constructorArgs);
|
v8::Local<v8::Object> actualBuffer = bufferConstructor->NewInstance(3, constructorArgs);
|
||||||
|
|
||||||
NanReturnValue(actualBuffer);
|
NanReturnValue(actualBuffer);
|
||||||
@ -485,7 +485,7 @@ class AsyncToBufferWorker : public NanAsyncWorker {
|
|||||||
|
|
||||||
v8::Local<v8::Object> globalObj = NanGetCurrentContext()->Global();
|
v8::Local<v8::Object> globalObj = NanGetCurrentContext()->Global();
|
||||||
v8::Local<v8::Function> bufferConstructor = v8::Local<v8::Function>::Cast(globalObj->Get(NanNew<String>("Buffer")));
|
v8::Local<v8::Function> bufferConstructor = v8::Local<v8::Function>::Cast(globalObj->Get(NanNew<String>("Buffer")));
|
||||||
v8::Handle<v8::Value> constructorArgs[3] = {buf, NanNew<v8::Integer>(res.size()), NanNew<v8::Integer>(0)};
|
v8::Handle<v8::Value> constructorArgs[3] = {buf, NanNew<v8::Integer>((unsigned)res.size()), NanNew<v8::Integer>(0)};
|
||||||
v8::Local<v8::Object> actualBuffer = bufferConstructor->NewInstance(3, constructorArgs);
|
v8::Local<v8::Object> actualBuffer = bufferConstructor->NewInstance(3, constructorArgs);
|
||||||
|
|
||||||
|
|
||||||
@ -1310,7 +1310,7 @@ cv::Point setPoint(Local<Object> objPoint) {
|
|||||||
return cv::Point( objPoint->Get(0)->IntegerValue(), objPoint->Get(1)->IntegerValue() );
|
return cv::Point( objPoint->Get(0)->IntegerValue(), objPoint->Get(1)->IntegerValue() );
|
||||||
}
|
}
|
||||||
|
|
||||||
cv::Rect* setRect(Local<Object> objRect) {
|
cv::Rect* setRect(Local<Object> objRect, cv::Rect &result) {
|
||||||
|
|
||||||
if(!objRect->IsArray() || !objRect->Get(0)->IsArray() || !objRect->Get(0)->IsArray() ){
|
if(!objRect->IsArray() || !objRect->Get(0)->IsArray() || !objRect->Get(0)->IsArray() ){
|
||||||
printf("error");
|
printf("error");
|
||||||
@ -1319,14 +1319,13 @@ cv::Rect* setRect(Local<Object> objRect) {
|
|||||||
|
|
||||||
Local<Object> point = objRect->Get(0)->ToObject();
|
Local<Object> point = objRect->Get(0)->ToObject();
|
||||||
Local<Object> size = objRect->Get(1)->ToObject();
|
Local<Object> size = objRect->Get(1)->ToObject();
|
||||||
cv::Rect ret;
|
|
||||||
|
|
||||||
ret.x = point->Get(0)->IntegerValue();
|
result.x = point->Get(0)->IntegerValue();
|
||||||
ret.y = point->Get(1)->IntegerValue();
|
result.y = point->Get(1)->IntegerValue();
|
||||||
ret.width = size->Get(0)->IntegerValue();
|
result.width = size->Get(0)->IntegerValue();
|
||||||
ret.height = size->Get(1)->IntegerValue();
|
result.height = size->Get(1)->IntegerValue();
|
||||||
|
|
||||||
return (cv::Rect*) &ret;
|
return &result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1714,10 +1713,11 @@ NAN_METHOD(Matrix::FloodFill){
|
|||||||
|
|
||||||
|
|
||||||
Local<Object> obj = args[0]->ToObject();
|
Local<Object> obj = args[0]->ToObject();
|
||||||
|
cv::Rect rect;
|
||||||
|
|
||||||
int ret = cv::floodFill(self->mat, setPoint(obj->Get(NanNew<String>("seedPoint"))->ToObject())
|
int ret = cv::floodFill(self->mat, setPoint(obj->Get(NanNew<String>("seedPoint"))->ToObject())
|
||||||
, setColor(obj->Get(NanNew<String>("newColor"))->ToObject())
|
, setColor(obj->Get(NanNew<String>("newColor"))->ToObject())
|
||||||
, obj->Get(NanNew<String>("rect"))->IsUndefined() ? 0 : setRect(obj->Get(NanNew<String>("rect"))->ToObject())
|
, obj->Get(NanNew<String>("rect"))->IsUndefined() ? 0 : setRect(obj->Get(NanNew<String>("rect"))->ToObject(), rect)
|
||||||
, setColor(obj->Get(NanNew<String>("loDiff"))->ToObject())
|
, setColor(obj->Get(NanNew<String>("loDiff"))->ToObject())
|
||||||
, setColor(obj->Get(NanNew<String>("upDiff"))->ToObject())
|
, setColor(obj->Get(NanNew<String>("upDiff"))->ToObject())
|
||||||
, 4 );
|
, 4 );
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user