2017-01-25 7 views
0

Opencv Matをラップしてnode.jsに戻すにはどうすればよいですか?ありがとうございました。これは私が持っているものです。Opencv Matをnode.jsに戻すv8

void testFunc(const Nan::FunctionCallbackInfo<v8::Value>& info){ 
Mat img = imread("test.jpg"); 
do stuff... 
return image "img" 
} 


void Init(v8::Local<v8::Object> exports) { 
exports->Set(Nan::New("pow").ToLocalChecked(), 
      Nan::New<v8::FunctionTemplate>(testFunc)->GetFunction()); 
} 

NODE_MODULE(pow, Init) 

答えて

0

JavaScript側でMatで何をしたいかによって異なります。

  • あなたは単にそれを渡したい場合、それをオブジェクトの「内部フィールド」として返すことができます。そのオブジェクトで後で呼び出される他のC++関数は、そこからそれを取得できます。
  • JavaScriptで作業したい場合は、JavaScriptで理解できるオブジェクトに変換する必要があります(Uint8ClampedArrayがその目的に役立つかもしれませんが、使用方法によって異なります)。場合。
  • インデックス付きインターセプタを使用して、バッキングストアとして使用されているMatにアクセスするJS互換オブジェクトを作成することもできます。ただし、APIの境界を横断するのは比較的遅いため、高速コードの場合は、通常、上のArrayの提案のように、一度に大量のデータを渡して、ホットループ内でAPIクロスコールを避ける方が理にかなっています。
+0

よろしくお願いいたします。それを試してください。 – vladimir999

関連する問題