crocro.jscam - リファレンス

説明

crocro.jscam」は、クロノス・クラウンの柳井政和が開発しているJavaScirptのライブラリです。「crocro.jscam」を使うと、JavaScriptからWebカメラを扱うことができます。また、簡単な図形認識などを行えます。

このページでは、この「crocro.jscam」のリファレンスを掲載します。このリファレンスは、クロノス・クラウン 柳井政和開発の「easyJsDoc」で作成しています。

リファレンス

publiccrocro.jscam.information基本情報
publiccrocro.jscam.write(arg)jscamのswfを書き出し
publiccrocro.jscam.optionjscamの設定
publiccrocro.jscam.initSwfCam()カメラ初期化
publiccrocro.jscam.ready(fnc)カメラ開始時のコールバック
publiccrocro.jscam.setFilter(fltrArr)カメラのフィルタ設定
publiccrocro.jscam.setLabelCutOff(minPrm, maxPrm)ラベル・カットオフ設定
publiccrocro.jscam.setDots(dotPttrnArr)ドット・パターンの設定
publiccrocro.jscam.setMarker(mrkrArr)マーカーの設定
publiccrocro.jscam.setMarkerMatchThreshold(newPrm)マーカー一致閾値の設定
publiccrocro.jscam.CaptureObject(id)キャプチャ・オブジェクト
public(crocro.jscam.CaptureObject).wキャプチャ・オブジェクト - 横幅
public(crocro.jscam.CaptureObject).hキャプチャ・オブジェクト - 高さ
public(crocro.jscam.CaptureObject).cnvsObjキャプチャ・オブジェクト - キャンバス・オブジェクト
public(crocro.jscam.CaptureObject).cntxtObjキャプチャ・オブジェクト - コンテクスト・オブジェクト
public(crocro.jscam.CaptureObject).cntxtImgキャプチャ・オブジェクト - イメージ・データ
public(crocro.jscam.CaptureObject).setBackDataType(arr)キャプチャ・オブジェクト - 戻りデータ種類設定
public(crocro.jscam.CaptureObject).setExtrFnc(fnc)キャプチャ・オブジェクト - コールバック終了時の追加処理
public(crocro.jscam.CaptureObject).capture(callBack)キャプチャ・オブジェクト - コールバック終了時の追加処理
public(crocro.jscam.CaptureObject).detect(callBack)キャプチャ・オブジェクト - 検知
public(crocro.jscam.CaptureObject).outputImage(id, type)キャプチャ・オブジェクト - 画像の出力
publiccrocro.jscam.makeCaptureObject(id)キャプチャー・オブジェクトの作成
publiccrocro.jscam.util.swapXY(w, h, arg)配列のXY交換
publiccrocro.jscam.util.makeMarker(id, arr, pxSz, isEdit, evtOnClick)マーカーの作成
publiccrocro.jscam.util.makeDots(id, arr, pxSz, isEdit, evtOnClick)ドット・パターンの作成
public
crocro.jscam.information
基本情報
「jscam」の基本情報が入ったオブジェクトです。

各情報は「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に指定可能な値は以下の通りです。

fps - fps。
dir - jscam.swfの置いてあるディレクトリ。
w - 横幅。
h - 高さ。


param   arg  パラメータをオブジェクトで指定します。空の場合は無視されます。
public
crocro.jscam.option
jscamの設定
writeで作成されたjscamの設定が格納されたオブジェクトです。

「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);

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);

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 - 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(一致%)も利用できます。


param   arr  戻りデータ種類の配列。
public
(crocro.jscam.CaptureObject).setExtrFnc(fnc)
キャプチャ・オブジェクト - コールバック終了時の追加処理
キャプチャが終了した際に、常時呼び出されるfunctionオブジェクトを指定します。

指定したfunctionオブジェクトは「function(resObj)」とすることで、setBackDataTypeで指定したオブジェクトを受け取れます。

param   fnc  コールバック実行させるfunctionオブジェクト。
public
(crocro.jscam.CaptureObject).capture(callBack)
キャプチャ・オブジェクト - コールバック終了時の追加処理
キャプチャを実行します。引数にfunctionオブジェクトを指定した場合は、一度だけ実行されるコールバック関数になります。

このfunctionオブジェクトは「function(resObj)」とすることで、setBackDataTypeで指定したオブジェクトを受け取れます。

param   callBack  コールバック実行させるfunctionオブジェクト。未指定の場合は無視される。
public
(crocro.jscam.CaptureObject).detect(callBack)
キャプチャ・オブジェクト - 検知
ドットパターンやマーカーを発見すると、コールバックされるようにします。引数にfunctionオブジェクトを指定した場合は、一度だけ実行されるコールバック関数になります。

この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座標と変更後の値を受け取れる。
Cronus Crown(クロノス・クラウン)のトップページに戻る
(c)2002-2017 Cronus Crown (c)1997-2017 Masakazu Yanai
このWebPageに関するご意見・お問い合わせは
サイト情報 弊社への連絡
までお願いします。