crocro.jscam - リファレンス
説明
「crocro.jscam」は、クロノス・クラウンの柳井政和が開発しているJavaScirptのライブラリです。「crocro.jscam」を使うと、JavaScriptからWebカメラを扱うことができます。また、簡単な図形認識などを行えます。
このページでは、この「crocro.jscam」のリファレンスを掲載します。このリファレンスは、クロノス・クラウン 柳井政和開発の「easyJsDoc」で作成しています。
リファレンス
public
crocro.jscam.information
基本情報
「jscam」の基本情報が入ったオブジェクトです。
各情報は「crocro.jscam.information.version」のようにして取得できます。
各情報は「crocro.jscam.information.version」のようにして取得できます。
name - ライブラリ名。
descriptionJa - 説明(日本語)。
descriptionEn - 説明(英語)。
version - バージョンのフル表記。「1.0.0」など。
versionMajor - メジャーバージョンのみの数字。「1」など。
author - 作者名。
publisher - 配布元。
lastModified - 最終更新日。
url - 配布元のWebサイト。
urlDownload - 配布元のダウンロード・サイト。
copyright - 著作権表示。
param arg パラメータをオブジェクトで指定します。空の場合は無視されます。
public
crocro.jscam.write(arg)
jscamのswfを書き出し
bodyタグ内で使います。この場所にjscamのオブジェクトを書き出します。
argは「{fps: 8, dir: "./js/"}」のようにオブジェクトで指定します。argに指定可能な値は以下の通りです。
argは「{fps: 8, dir: "./js/"}」のようにオブジェクトで指定します。argに指定可能な値は以下の通りです。
fps - fps。
dir - jscam.swfの置いてあるディレクトリ。
w - 横幅。
h - 高さ。
param arg パラメータをオブジェクトで指定します。空の場合は無視されます。
public
crocro.jscam.option
jscamの設定
writeで作成されたjscamの設定が格納されたオブジェクトです。
「crocro.jscam.option.w」のようにして、値を取得できます。利用できる設定は以下の通りです。
「crocro.jscam.option.w」のようにして、値を取得できます。利用できる設定は以下の通りです。
fps - fps。
dir - jscam.swfの置いてあるディレクトリ。
w - 横幅。
h - 高さ。
param arg パラメータをオブジェクトで指定します。空の場合は無視されます。
public
crocro.jscam.initSwfCam()
カメラ初期化
Flashのカメラ取得用オブジェクトを初期化します。
public
crocro.jscam.ready(fnc)
カメラ開始時のコールバック
カメラが開始した時にコールバック実行したいfunctionオブジェクトを指定します。
param fnc コールバック実行させるfunctionオブジェクト。
public
crocro.jscam.setFilter(fltrArr)
カメラのフィルタ設定
カメラに入力した映像に対して、処理を行わせる命令を、配列で指定します。「["bin", "label"]」のように指定します。命令は順番が正しくなければなりません。
命令には、以下を指定可能です。「要 ~」と書いてある場合は、事前にその処理が必要になります。
命令には、以下を指定可能です。「要 ~」と書いてある場合は、事前にその処理が必要になります。
bin - 2値化。
label - ラベリング(要 2値化)。
drawLabel - ラベル描画(要 ラベリング)。
detectDots - ドット・パターン検知(要 ラベリング)。
drawDots - ドット・パターン描画(要 ドット・パターン検知)。
drawClipDots - ドット・パターン切抜き描画(要 ドット・パターン検知)。
detectMarker - マーカー検知(要 ラベリング)。
drawMarker - マーカー描画(要 マーカー検知)。
showPaint - 2値化、ラベリングなどの描画を画面に反映させる。
hidePaint - 2値化、ラベリングなどの描画を画面に反映させない。
param fltrArr カメラの映像に対して処理させる内容の配列。
public
crocro.jscam.setLabelCutOff(minPrm, maxPrm)
ラベル・カットオフ設定
ラベルとして認識するドット数の範囲を指定します。デフォルトでは、最小値が10、最大値が57600です。minPrm、maxPrmともに-1を指定した場合は、デフォルト値に戻ります。
param minPrm 最小値。
param maxPrm 最大値。
public
crocro.jscam.setDots(dotPttrnArr)
ドット・パターンの設定
検知させるドット・パターンを配列で設定します。4×4の0, 1の配列で指定します。
[[1,1,0,1],
[1,0,0,1],
[0,0,0,1],
[1,1,1,1]]
配列は[x][y]の向きになります。上記の配列だとxyが逆になるので、swapXYでひっくり返すとよいです。
var dotsArr = crocro.jscam.util.swapXY(4, 4, dotPttrnArr);
[[1,1,0,1],
[1,0,0,1],
[0,0,0,1],
[1,1,1,1]]
配列は[x][y]の向きになります。上記の配列だとxyが逆になるので、swapXYでひっくり返すとよいです。
var dotsArr = crocro.jscam.util.swapXY(4, 4, dotPttrnArr);
param dotPttrnArr ドット・パターンの配列。
public
crocro.jscam.setMarker(mrkrArr)
マーカーの設定
検知させるマーカーを配列で設定します。正方形の配列で指定します。サンプルは16マスですが、16でなくても構いません。
[[1,1,0,1],
[1,0,0,1],
[0,0,0,1],
[1,1,1,1]]
配列は[x][y]の向きになります。上記の配列だとxyが逆になるので、swapXYでひっくり返すとよいです。
var mrkrArr = crocro.jscam.util.swapXY(4, 4, mrkrArr);
[[1,1,0,1],
[1,0,0,1],
[0,0,0,1],
[1,1,1,1]]
配列は[x][y]の向きになります。上記の配列だとxyが逆になるので、swapXYでひっくり返すとよいです。
var mrkrArr = crocro.jscam.util.swapXY(4, 4, mrkrArr);
param mrkrArr マーカーの配列。
public
crocro.jscam.setMarkerMatchThreshold(newPrm)
マーカー一致閾値の設定
マーカーの形に、何パーセント以上一致していれば一致と見なすかを設定します。デフォルトは80です。newPrmに-1を指定した場合は、デフォルト値に戻ります。
param newPrm 新しい数値。
public
crocro.jscam.CaptureObject(id)
キャプチャ・オブジェクト
「crocro.jscam.makeCaptureObject()」で作成します。Canvasと1対1で対応して、Webカメラのキャプチャ、コールバックなどを行います。
param id canvasのid。
public
(crocro.jscam.CaptureObject).w
キャプチャ・オブジェクト - 横幅
カメラの横幅(crocro.jscam.option.w)と同じ値です。指定するキャンバスの横幅は、カメラの横幅(デフォルトは320)と同じ値にしてください。
public
(crocro.jscam.CaptureObject).h
キャプチャ・オブジェクト - 高さ
カメラの高さ(crocro.jscam.option.h)と同じ値です。指定するキャンバスの高さは、カメラの高さ(デフォルトは240)と同じ値にしてください。
public
(crocro.jscam.CaptureObject).cnvsObj
キャプチャ・オブジェクト - キャンバス・オブジェクト
指定したIDのキャンバスのDOM要素です。
public
(crocro.jscam.CaptureObject).cntxtObj
キャプチャ・オブジェクト - コンテクスト・オブジェクト
指定したIDのキャンバスの、2Dコンテクストです。
public
(crocro.jscam.CaptureObject).cntxtImg
キャプチャ・オブジェクト - イメージ・データ
指定したIDのキャンバスの、2Dコンテクストから、getImageData(0, 0, 横幅, 高さ)したオブジェクトです。
public
(crocro.jscam.CaptureObject).setBackDataType(arr)
キャプチャ・オブジェクト - 戻りデータ種類設定
キャプチャ実行時に取得するデータの種類を配列で指定します。配列の順番は自由です。
データの種類には、以下を指定可能です。pixelSwf、pixelRaw、pixelBinを指定した場合は、最初に指定した画像がCanvasに描画されます。
データの種類には、以下を指定可能です。pixelSwf、pixelRaw、pixelBinを指定した場合は、最初に指定した画像がCanvasに描画されます。
pixelSwf - Flash上に描画されている画像の画素配列です。一次元の配列で、1画素の値は0x000000~0xFFFFFF(RGBが16進数で2桁ずつ)になります。
pixelRaw - Webカメラが取得した画像の画素配列です。一次元の配列で、1画素の値は0x000000~0xFFFFFF(RGBが16進数で2桁ずつ)になります。
pixelBin - 2値化した画像の画素配列です。事前に2値化がおこなわれている必要があります。一次元の配列で、1画素の値は0x000000~0xFFFFFF(RGBが16進数で2桁ずつ)になります。
labelData - ラベルの情報が配列で入っています。各配列はオブジェクトになっており、tX, tY(上XY)、bX, bY(下XY)、lX, lY(左XY)、rX, rY(右XY)、cX, cY(中心XY)、cnt(ドット数)といった値が格納されています。
label2dArr - 1画素につき1つの値で画面上のラベルの配置が入っています。これは一次元の配列です。値が0のマスが地のマスになります。1以降の値のマスは、その値がラベル番号になっています。
dotsData - ドット・パターンを検出した時の値です。ltX, ltY(左上XY)rtX, rtY(右上XY)rbX, rbY(右上XY)lbX, lbY(左下XY)、rtt(判定時に回転させた角度)が入っています。
markerData - マーカーを検出した時の値です。ltX, ltY(左上XY)rtX, rtY(右上XY)rbX, rbY(右上XY)lbX, lbY(左下XY)、rtt(判定時に回転させた角度)が入っています。
また、mtchThrshldPer(一致閾値%)、mtchThrshldCnt(一致閾値ドット数)、mtchCnt(一致数)、mtchMax(一致可能最大数)、mtchPer(一致%)も利用できます。
また、mtchThrshldPer(一致閾値%)、mtchThrshldCnt(一致閾値ドット数)、mtchCnt(一致数)、mtchMax(一致可能最大数)、mtchPer(一致%)も利用できます。
param arr 戻りデータ種類の配列。
public
(crocro.jscam.CaptureObject).setExtrFnc(fnc)
キャプチャ・オブジェクト - コールバック終了時の追加処理
キャプチャが終了した際に、常時呼び出されるfunctionオブジェクトを指定します。
指定したfunctionオブジェクトは「function(resObj)」とすることで、setBackDataTypeで指定したオブジェクトを受け取れます。
指定したfunctionオブジェクトは「function(resObj)」とすることで、setBackDataTypeで指定したオブジェクトを受け取れます。
param fnc コールバック実行させるfunctionオブジェクト。
public
(crocro.jscam.CaptureObject).capture(callBack)
キャプチャ・オブジェクト - コールバック終了時の追加処理
キャプチャを実行します。引数にfunctionオブジェクトを指定した場合は、一度だけ実行されるコールバック関数になります。
このfunctionオブジェクトは「function(resObj)」とすることで、setBackDataTypeで指定したオブジェクトを受け取れます。
このfunctionオブジェクトは「function(resObj)」とすることで、setBackDataTypeで指定したオブジェクトを受け取れます。
param callBack コールバック実行させるfunctionオブジェクト。未指定の場合は無視される。
public
(crocro.jscam.CaptureObject).detect(callBack)
キャプチャ・オブジェクト - 検知
ドットパターンやマーカーを発見すると、コールバックされるようにします。引数にfunctionオブジェクトを指定した場合は、一度だけ実行されるコールバック関数になります。
このfunctionオブジェクトは「function(resObj)」とすることで、setBackDataTypeで指定したオブジェクトを受け取れます。
このfunctionオブジェクトは「function(resObj)」とすることで、setBackDataTypeで指定したオブジェクトを受け取れます。
param callBack コールバック実行させるfunctionオブジェクト。未指定の場合は無視される。
public
(crocro.jscam.CaptureObject).outputImage(id, type)
キャプチャ・オブジェクト - 画像の出力
指定したidのDOM要素内に、画像を作成して挿入します。typeは、pngやjpegなどの、HTML5のcanvasで指定可能な画像形式を指定します。setBackDataTypeで指定したオブジェクトを受け取れます。
param id 画像を出力させるのDOM要素のID。
param type 作成する画像の形式。空文字の場合はデフォルトの形式で出力されます。
public
crocro.jscam.makeCaptureObject(id)
キャプチャー・オブジェクトの作成
指定したidのcanvasに対応したキャプチャー・オブジェクトを作成します。
param id canvasのid。
return キャプチャー・オブジェクト。
public
crocro.jscam.util.swapXY(w, h, arg)
配列のXY交換
配列の縦横を入れ替えます。プログラムを見やすく書くために利用します。
param w 配列の横幅。
param h 配列の高さ。
param arg 二次元配列。
return 縦横を入れ替えた配列。
public
crocro.jscam.util.makeMarker(id, arr, pxSz, isEdit, evtOnClick)
マーカーの作成
配列を指定して、「table」タグでできたマーカーを作成します。isEditにtrueを指定することで、クリックで編集可能になります。また、evtOnClickを指定することで、クリック時のコールバック処理を指定できます。
param id マーカーを作成するDOM要素のID。
param arr マーカーを表現する01の二次元配列。
param pxSz 1セルあたりのドット数。
param isEdit trueなら編集可能、falseなら編集不能。
param evtOnClick isEditがtrueの場合に動作。クリック時のコールバック処理をfunctionオブジェクトで指定する。このfunctionオブジェクトは「function(x, y, prm)」としてXY座標と変更後の値を受け取れる。
public
crocro.jscam.util.makeDots(id, arr, pxSz, isEdit, evtOnClick)
ドット・パターンの作成
配列を指定して、「table」タグでできたドット・パターンを作成します。isEditにtrueを指定することで、クリックで編集可能になります。また、evtOnClickを指定することで、クリック時のコールバック処理を指定できます。
param id ドット・パターンを作成するDOM要素のID。
param arr ドット・パターンを表現する01の二次元配列。
param pxSz 1セルあたりのドット数。
param isEdit trueなら編集可能、falseなら編集不能。
param evtOnClick isEditがtrueの場合に動作。クリック時のコールバック処理をfunctionオブジェクトで指定する。このfunctionオブジェクトは「function(x, y, prm)」としてXY座標と変更後の値を受け取れる。