jscam.jsのソースコード「SWFの設定変更」
説明
「crocro.jscam」は、クロノス・クラウンの柳井政和が開発しているJavaScirptのライブラリです。「crocro.jscam」を使うと、JavaScriptからWebカメラを扱うことができます。また、簡単な図形認識などを行えます。
このページでは、この「crocro.jscam」のコアになる「jscam.js」(ver 1.1.0)のソースコードのうち、「SWFの設定変更」に相当する部分を掲載します。
ソースコード
以下、ソースコードです。
/** * @variable crocro.jscam.setFilter(fltrArr) * @title カメラのフィルタ設定 * @description * * カメラに入力した映像に対して、処理を行わせる命令を、配列で指定します。 * 「["bin", "label"]」のように指定します。命令は順番が正しくなければなりません。 * * 命令には、以下を指定可能です。「要 ~」と書いてある場合は、事前にその処理が必要になります。 * * <div>bin - 2値化。</div> * <div>label - ラベリング(要 2値化)。</div> * <div>drawLabel - ラベル描画(要 ラベリング)。</div> * <div>detectDots - ドット・パターン検知(要 ラベリング)。</div> * <div>drawDots - ドット・パターン描画(要 ドット・パターン検知)。</div> * <div>drawClipDots - ドット・パターン切抜き描画(要 ドット・パターン検知)。</div> * <div>detectMarker - マーカー検知(要 ラベリング)。</div> * <div>drawMarker - マーカー描画(要 マーカー検知)。</div> * <div>showPaint - 2値化、ラベリングなどの描画を画面に反映させる。</div> * <div>hidePaint - 2値化、ラベリングなどの描画を画面に反映させない。</div> * * @param fltrArr カメラの映像に対して処理させる内容の配列。 */ //== SwfCamのフィルタ設定 crocro.jscam.setFilter = function(fltrArr) { var swfCam = crocro.jscam.swfCam; try { if (swfCam.checkEnable()) { swfCam.setFilter(fltrArr); // 即時変更 return; } } catch(e) {} setTimeout(function(){ // 待機実行 crocro.jscam.setFilter(fltrArr); }, 1000); }; /** * @variable crocro.jscam.setLabelCutOff(minPrm, maxPrm) * @title ラベル・カットオフ設定 * @description * * ラベルとして認識するドット数の範囲を指定します。 * デフォルトでは、最小値が10、最大値が57600です。 * minPrm、maxPrmともに-1を指定した場合は、デフォルト値に戻ります。 * * @param minPrm 最小値。 * @param maxPrm 最大値。 */ //== SwfCamのラベル・カットオフ設定 crocro.jscam.setsetLabelCutOff = function(minPrm, maxPrm) { var swfCam = crocro.jscam.swfCam; try { if (swfCam.checkEnable()) { swfCam.setLabelCutOff(parseInt(minPrm), parseInt(maxPrm)); // 即時変更 return; } } catch(e) {} setTimeout(function(){ // 待機実行 crocro.jscam.setsetLabelCutOff(minPrm, maxPrm); }, 1000); }; /** * @variable crocro.jscam.setDots(dotPttrnArr) * @title ドット・パターンの設定 * @description * * 検知させるドット・パターンを配列で設定します。 * 4×4の0, 1の配列で指定します。 * * [[1,1,0,1],<br> * [1,0,0,1],<br> * [0,0,0,1],<br> * [1,1,1,1]] * * 配列は[x][y]の向きになります。 * 上記の配列だとxyが逆になるので、swapXYでひっくり返すとよいです。 * * var dotsArr = crocro.jscam.util.swapXY(4, 4, dotPttrnArr); * * @param dotPttrnArr ドット・パターンの配列。 */ //== SwfCamのドット・パターンの設定 crocro.jscam.setDots = function(dotPttrnArr) { var swfCam = crocro.jscam.swfCam; try { if (swfCam.checkEnable()) { swfCam.setDots(dotPttrnArr); // 即時変更 return; } } catch(e) {} setTimeout(function(){ // 待機実行 crocro.jscam.setDots(dotPttrnArr); }, 1000); }; /** * @variable crocro.jscam.setMarker(mrkrArr) * @title マーカーの設定 * @description * * 検知させるマーカーを配列で設定します。 * 正方形の配列で指定します。サンプルは16マスですが、16でなくても構いません。 * * [[1,1,0,1],<br> * [1,0,0,1],<br> * [0,0,0,1],<br> * [1,1,1,1]] * * 配列は[x][y]の向きになります。 * 上記の配列だとxyが逆になるので、swapXYでひっくり返すとよいです。 * * var mrkrArr = crocro.jscam.util.swapXY(4, 4, mrkrArr); * * @param mrkrArr マーカーの配列。 */ //== SwfCamのマーカーの設定 crocro.jscam.setMarker = function(mrkrArr) { var swfCam = crocro.jscam.swfCam; try { if (swfCam.checkEnable()) { swfCam.setMarker(mrkrArr, mrkrArr.length); // 即時変更 return; } } catch(e) {} setTimeout(function(){ // 待機実行 crocro.jscam.setMarker(mrkrArr, mrkrArr.length); }, 1000); }; /** * @variable crocro.jscam.setMarkerMatchThreshold(newPrm) * @title マーカー一致閾値の設定 * @description * * マーカーの形に、何パーセント以上一致していれば一致と見なすかを設定します。 * デフォルトは80です。newPrmに-1を指定した場合は、デフォルト値に戻ります。 * * @param newPrm 新しい数値。 */ //== SwfCamのマーカー一致閾値の設定 crocro.jscam.setMarkerMatchThreshold = function(newPrm) { var swfCam = crocro.jscam.swfCam; try { if (swfCam.checkEnable()) { swfCam.setMarkerMatchThreshold(parseInt(newPrm)); // 即時変更 return; } } catch(e) {} setTimeout(function(){ // 待機実行 crocro.jscam.setMarkerMatchThreshold(newPrm); }, 1000); };