1

Raspberry Pi に接続された Web カメラから node.js 内の画像をキャプチャしようとしています。キャプチャはうまくいきますが、画像を送信したいとき、フレームレートとラグに深刻な問題があります。

今、私の最初のアイデアは、RGB イメージを 8 ビット グレースケールに変換することでした。これにより、パフォーマンスが 3 倍向上するはずです (希望..)。

これには node.js と opencv-node を使用しています。ここでは、いくつかのコード スニペットを確認できます。

var startT = new Date().getTime();
var capture = new cv.VideoCapture();
var frame = new cv.Mat;
var grey = new cv.Mat;
var imgPath = __dirname + "/ramdisk/";
var frame_number = 0;

capture.open(0);

if (!capture.isOpened())
{
    console.log("aCapLive could not open capture!");
    return;
}

function ImgCap()
{
    var elapsed = (new Date().getTime() - startT) / 1000;

    capture.read(frame);
    cv.imwrite(imgPath+".bmp", frame);

    id = setImmediate(ImgCap);
}

ImgCap();

私は次のようなものを使用しようとしました

cv.cvtColor(frame, grey, "CV_BGR2GRAY");

画像を読んだ後、引数2が整数でなければならないというTypeErrorしか得られません...現時点で何をすべきかわかりません。RGB からグレースケール イメージへの変換については、http://docs.opencv.org/doc/tutorials/introduction/load_save_image/load_save_image.html#explanationを参照しました。

さらに、これが mit に 8 ビットの代わりに 24 ビットのグレースケール画像を与えるだけなのかどうかはまだわかりません..?!

事前に助けてくれてありがとう!:)

4

1 に答える 1