video
モジュールは、WIRELESS CAMERA Shieldに接続されたカメラの制御や映像信号の取り込みを行います。
"ov7725"
- GR-PEACH Wireless CAMERA Shield画像の取り込みは、マイコンに搭載されたハードウェアリソース(VDC5)を用いてプログラムとは非同期に実行されます。
config
{Object} カメラの設定width
{number} 画像の横幅(ピクセル数)。必須項目です。height
{number} 画像の高さ(ピクセル数)。必須項目です。format
{string} 希望するピクセルフォーマット。"ycbcr422"
, "rgb565"
, "rgb888"
のいずれかが指定できます。必須項目です。type
{string} CMOSカメラの種類を示す文字列。"ov7725"
のみ指定できます。(省略時: "ov7725"
)callback
{Function} コールバック関数err
{Error|null} エラーオブジェクト(失敗のとき) または null
(成功のとき)。videoSource
{Object} VideoSource
クラスのインスタンス (成功のとき)CMOSカメラに接続します。処理は非同期で行われ、処理が完了または失敗すると、コールバック関数が呼び出されます。
注意: ハードウェアリソースを排他で使用するため、複数の
VideoSource
インスタンスを同時に使用することはできません。別のカメラを接続する場合は、先に生成されたインスタンスに対してclose()
を実行してください。
var video = require('video');
var AlignedBuffer = require('aligned_buffer').AlignedBuffer;
var buf = new AlignedBuffer(480*272*2, 32);
video.openCMOSCamera({
width: 480, height: 272, format: 'rgb565', type: 'ov7725'
}, function(err, videoSource) {
if (err) {
/* video.openCMOSCamera 失敗... */
console.log(err);
return;
}
/* video.openCMOSCamera 成功... */
videoSource.start(buf, function(err) {
if (err) {
/* videoSource.start 失敗... */
console.log(err);
return;
}
/* videoSource.start 成功... */
videoSource.stop(function(err) {
if (err) {
/* videoSource.stop 失敗... */
console.log(err);
return;
}
/* videoSource.stop 成功... */
videoSource.close(function (err) {
if (err) {
/* videoSource.close 失敗... */
console.log(err);
return;
}
/* videoSource.close 成功... */
});
});
});
});
config
{Object} カメラの設定video.openCMOSCamera()
の説明を参照VideoSource
クラスのインスタンスvideo.openCMOSCamera()
の同期版です。処理は同期で行われ、処理が完了するとVideoSource
クラスのインスタンスを返却します。失敗すると例外をスローします。
var video = require('video');
var AlignedBuffer = require('aligned_buffer').AlignedBuffer;
var buf = new AlignedBuffer(480*272*2, 32);
try {
var videoSource = video.openCMOSCameraSync({
width: 480, height: 272, format: 'rgb565', type: 'ov7725'
});
/* video.openCMOSCameraSync 成功... */
videoSource.startSync(buf);
/* videoSource.startSync 成功... */
videoSource.stopSync();
/* videoSource.stopSync 成功... */
videoSource.closeSync();
/* videoSource.closeSync 成功... */
} catch (err) {
/* 失敗... */
console.log(err);
}
カメラの制御や映像ソースの取り込みを行うクラスです。
"ycbcr422"
, "rgb565"
, "rgb888"
のいずれかです。buf
{AlignedBuffer} カメラ入力を取り込むバッファ。32バイトのアライメントである必要があります。callback
{Function} コールバック関数err
{Error|null} エラーオブジェクト(失敗のとき) または null
(成功のとき)。カメラの撮影/信号の取り込みを開始します。処理は非同期で行われ、処理が完了または失敗すると、コールバック関数が呼び出されます。
buf
{AlignedBuffer} カメラ入力を取り込むバッファ。32バイトのアライメントである必要があります。videoSource.start()
の同期版です。処理は非同期で行われ、処理が完了すると呼び出し元に戻ります。失敗すると例外をスローします。
callback
{Function} コールバック関数err
{Error|null} エラーオブジェクト(失敗のとき) または null
(成功のとき)。カメラの撮影/信号の取り込みを停止します。処理は非同期で行われ、処理が完了または失敗すると、コールバック関数が呼び出されます。
videoSource.stop()
の同期版です。処理は同期で行われ、処理が完了すると呼び出し元に戻ります。失敗すると例外をスローします。
callback
{Function} コールバック関数err
{Error|null} エラーオブジェクト(失敗のとき) または null
(成功のとき)。カメラの制御/信号取り込みに関するハードウェアリソースを解放します。videoSource.start()
によりカメラの撮影/信号の取り込みが開始されている場合、この関数の内部で自動的にvideoSource.stop()
が呼び出されて停止されます。処理は非同期で行われ、処理が完了または失敗すると、コールバック関数が呼び出されます。
注意: この関数を呼んだ後には、この
VideoSource
インスタンスに対していかなる操作も行えません。このとき各プロパティの返す値は未定義であり、各関数の呼び出しを行うとエラーが発生します。
videoSource.close()
の同期版です。処理は同期で行われ、処理が完了すると呼び出し元に戻ります。失敗すると例外をスローします。