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-2017 Cronus Crown (c)1997-2017 Masakazu Yanai
このWebPageに関するご意見・お問い合わせは
サイト情報 弊社への連絡
までお願いします。