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);
};
Cronus Crown(クロノス・クラウン)のトップページに戻る
(c)2002-2024 Cronus Crown (c)1997-2024 Masakazu Yanai
ご意見・お問い合わせはサイト情報 弊社への連絡までお願いします
個人情報の取り扱い、利用者情報の外部送信について