まえがき
Node.jsのffiモジュールでOpenCVつかって、Webカメラのキャプチャーをやった。JavaScriptでFFIする際には内部的には型付き配列(Typed Array)が使われてる模様。
今回はOSXで試した。多分UNIX系なら同様に動かせると思う。
構造体を使うには
ref-structを入れる。
var Struct = require('ref-struct');
var CaptureVal = Struct({
});
var CaptureValPtr = ref.refType(CaptureVal);
配列を使うには
ref-arrayを入れる。
サイズが指定されている配列の宣言
'colorModel': ArrayType('char', 4)
引数にNULLを渡すには
char*の扱い
'string'でだいたい扱える
libopencv_highgui.cvSaveImage("snap.jpg",frame,ref.NULL);
まとめ
ffiを応用した、Node.jsからCocoa APIが叩けるNodObjCモジュールを使ってる割には、ffiモジュール関連の知識がなく、今回の作業で、色々学んだ。