当前位置: 首页>>代码示例>>C#>>正文


C# INyARRgbRaster.createInterface方法代码示例

本文整理汇总了C#中INyARRgbRaster.createInterface方法的典型用法代码示例。如果您正苦于以下问题:C# INyARRgbRaster.createInterface方法的具体用法?C# INyARRgbRaster.createInterface怎么用?C# INyARRgbRaster.createInterface使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在INyARRgbRaster的用法示例。


在下文中一共展示了INyARRgbRaster.createInterface方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: detectMarkerLite

        /**
         * この関数は、画像から登録済のマーカ検出を行います。
         * マーカの検出に成功すると、thisのプロパティにマーカの二次元位置を記録します。
         * 関数の成功後は、マーカの姿勢行列と、一致度を、それぞれ{@link #getTransmationMatrix}と{@link #getConfidence}から得ることができます。
         * @param i_raster
         * マーカーを検出する画像。画像のサイズは、コンストラクタに指定した{@link NyARParam}オブジェクトと一致していなければなりません。
         * @param i_th
         * 2値化敷居値。0から256までの値を指定します。
         * @return
         * マーカーが検出できたかを、真偽値で返します。
         * @
         */
        public bool detectMarkerLite(INyARRgbRaster i_raster, int i_th)
        {
            //サイズチェック
              if (!this._bin_raster.getSize().isEqualSize(i_raster.getSize())) { throw new NyARException(); }

              //最終入力ラスタを更新
              if (this._last_input_raster != i_raster) {
            this._bin_filter = (INyARRgb2GsFilterArtkTh)i_raster.createInterface(typeof(INyARRgb2GsFilterArtkTh));
            this._last_input_raster = i_raster;
              }

              //ラスタを2値イメージに変換する.
              this._bin_filter.doFilter(i_th, this._bin_raster);

              //コールバックハンドラの準備
              this._confidence = 0;
              this._last_input_raster = i_raster;

              //
              //マーカ検出器をコール
              this.execDetectMarker();
              if (this._confidence == 0) { return false; }
              return true;
        }
开发者ID:ooHIROoo,项目名称:Imagine2016,代码行数:36,代码来源:NyARSingleDetectMarker.cs

示例2: detectMarker

        /**
         * この関数は、画像を処理して、適切なマーカ検出イベントハンドラを呼び出します。
         * イベントハンドラの呼び出しは、この関数を呼び出したスレッドが、この関数が終了するまでに行います。
         * @param i_raster
         * 検出処理をする画像を指定します。
         * @
         */
        public void detectMarker(INyARRgbRaster i_raster)
        {
            // サイズチェック
            Debug.Assert(this._gs_raster.getSize().isEqualSize(i_raster.getSize().w, i_raster.getSize().h));
            if (this._last_input_raster != i_raster)
            {
                this._histmaker = (INyARHistogramFromRaster)this._gs_raster.createInterface(typeof(INyARHistogramFromRaster));
                this._togs_filter = (INyARRgb2GsFilter)i_raster.createInterface(typeof(INyARRgb2GsFilter));
                this._last_input_raster = i_raster;
            }

            //GSイメージへの変換とヒストグラムの生成
            this._togs_filter.convert(this._gs_raster);
            this._histmaker.createHistogram(4, this._hist);

            // スクエアコードを探す
            this._detectmarker.init(i_raster, this._current_arcode_index);
            this._detectmarker.detectMarker(this._gs_raster, this._thdetect.getThreshold(this._hist),this._detectmarker);

            // 認識状態を更新
            this.updateStatus(this._detectmarker.square, this._detectmarker.code_index);
            return;
        }
开发者ID:whztt07,项目名称:NyARToolkitCS,代码行数:30,代码来源:SingleARMarkerProcesser.cs

示例3: update

 /**
  * この関数は、入力画像を元に、インスタンスの状態を更新します。
  * この関数は、タイムスタンプをインクリメントします。
  * @param i_input
  * @
  */
 public virtual void update(INyARRgbRaster i_input)
 {
     //ラスタドライバの準備
     if (this._ref_raster != i_input)
     {
         this._rgb2gs = (INyARRgb2GsFilter)i_input.createInterface(typeof(INyARRgb2GsFilter));
         this._pcopy = (INyARPerspectiveCopy)i_input.createInterface(typeof(INyARPerspectiveCopy));
         this._ref_raster = i_input;
     }
     //ソースidのインクリメント
     this._src_ts++;
 }
开发者ID:walidBelfadel,项目名称:MARS_project,代码行数:18,代码来源:NyARSensor.cs

示例4: detectMarker

        /**
         * この関数は、画像を処理して、適切なマーカ検出イベントハンドラを呼び出します。
         * イベントハンドラの呼び出しは、この関数を呼び出したスレッドが、この関数が終了するまでに行います。
         * @param i_raster
         * 検出処理をする画像を指定します。
         * @
         */
        public void detectMarker(INyARRgbRaster i_raster)
        {
            // サイズチェック
            if (!this._gs_raster.getSize().isEqualSize(i_raster.getSize().w, i_raster.getSize().h))
            {
                throw new NyARException();
            }
            // ラスタをGSへ変換する。
            if (this._last_input_raster != i_raster)
            {
                this._togs_filter = (INyARRgb2GsFilter)i_raster.createInterface(typeof(INyARRgb2GsFilter));
                this._last_input_raster = i_raster;
            }
            this._togs_filter.convert(this._gs_raster);

            // スクエアコードを探す(第二引数に指定したマーカ、もしくは新しいマーカを探す。)
            this._square_detect.init(this._gs_raster, this._is_active ? this._data_current : null);
            this._square_detect.detectMarker(this._gs_raster, this._current_threshold, this._square_detect);

            // 認識状態を更新(マーカを発見したなら、current_dataを渡すかんじ)
            bool is_id_found = updateStatus(this._square_detect.square, this._square_detect.marker_data);

            //閾値フィードバック(detectExistMarkerにもあるよ)
            if (is_id_found)
            {
                //マーカがあれば、マーカの周辺閾値を反映
                this._current_threshold = (this._current_threshold + this._square_detect.threshold) / 2;
            }
            else
            {
                //マーカがなければ、探索+DualPTailで基準輝度検索
                this._histmaker.createHistogram(4, this._hist);
                int th = this._threshold_detect.getThreshold(this._hist);
                this._current_threshold = (this._current_threshold + th) / 2;
            }
            return;
        }
开发者ID:whztt07,项目名称:NyARToolkitCS,代码行数:44,代码来源:SingleNyIdMarkerProcesser.cs

示例5: pickFromRaster

 /**
  * この関数は、ラスタのi_vertexsで定義される四角形からパターンを取得して、インスタンスに格納します。
  */
 public bool pickFromRaster(INyARRgbRaster image, NyARIntPoint2d[] i_vertexs)
 {
     if (this._last_input_raster != image)
     {
         this._raster_driver = (INyARPerspectiveCopy)image.createInterface(typeof(INyARPerspectiveCopy));
         this._last_input_raster = image;
     }
     //遠近法のパラメータを計算
     return this._raster_driver.copyPatt(i_vertexs, this._edge.x, this._edge.y, this._sample_per_pixel, this);
 }
开发者ID:imclab,项目名称:NyARToolkitUnity,代码行数:13,代码来源:NyARColorPatt_Perspective.cs

示例6: setRaster

 /**
  * この関数は、ラスタから差分画像を生成して、インスタンスに格納します。
  * @param i_raster
  * 差分画像の元画像。サイズは、このインスタンスと同じである必要があります。
  * {@link NyARBufferType#INT1D_X8R8G8B8_32}形式のバッファを持つラスタの場合、他の形式よりも
  * 何倍か高速に動作します。
  */
 public void setRaster(INyARRgbRaster i_raster)
 {
     //ドライバの生成
     if (this._last_input_raster != i_raster)
     {
         this._last_drv = (IRasterDriver)i_raster.createInterface(typeof(IRasterDriver));
         this._last_input_raster = i_raster;
     }
     this._pow = this._last_drv.makeColorData(this._data);
     return;
 }
开发者ID:whztt07,项目名称:NyARToolkitCS,代码行数:18,代码来源:NyARMatchPattDeviationColorData.cs

示例7: addARMarker

	/**
	 * この関数は、画像からARマーカパターンを生成して、登録します。
	 * ビットマップ等の画像から生成したパターンは、撮影画像から生成したパターンファイルと比較して、撮影画像の色調変化に弱くなります。
	 * 注意してください。
	 * @param i_raster
	 * マーカ画像を格納したラスタオブジェクト
	 * @param i_patt_resolution
	 * マーカの解像度
	 * @param i_patt_edge_percentage
	 * マーカのエッジ領域のサイズ。マーカパターンは、i_rasterからエッジ領域を除いたパターンから生成します。
	 * ARToolKitスタイルの画像を用いる場合は、25を指定します。
	 * @param i_marker_size
	 * マーカの平方サイズ[mm]
	 * @return
	 * マーカID(ハンドル)値。
	 * @throws NyARException
	 */
	public int addARMarker(INyARRgbRaster i_raster,int i_patt_resolution,int i_patt_edge_percentage,double i_marker_size)
	{
		NyARCode c=new NyARCode(i_patt_resolution,i_patt_resolution);
		NyARIntSize s=i_raster.getSize();
		//ラスタからマーカパターンを切り出す。
		INyARPerspectiveCopy pc=(INyARPerspectiveCopy)i_raster.createInterface(typeof(INyARPerspectiveCopy));
		NyARRgbRaster tr=new NyARRgbRaster(i_patt_resolution,i_patt_resolution);
		pc.copyPatt(0,0,s.w,0,s.w,s.h,0,s.h,i_patt_edge_percentage, i_patt_edge_percentage,4, tr);
		//切り出したパターンをセット
		c.setRaster(tr);
		return this.addARMarker(c,i_patt_edge_percentage,i_marker_size);
	}
开发者ID:mlakhal,项目名称:CollaborativeAugmentedRealityEnvironment,代码行数:29,代码来源:NyARMarkerSystem.cs

示例8: detectMarkerLite

        /**
         * この関数は、画像から登録済のマーカ検出を行います。
         * マーカの検出に成功すると、thisのプロパティにマーカの二次元位置を記録します。
         * 関数の成功後は、マーカの姿勢行列と、一致度を、それぞれ{@link #getTransmationMatrix}と{@link #getConfidence}から得ることができます。
         * @param i_raster
         * マーカーを検出する画像。画像のサイズは、コンストラクタに指定した{@link NyARParam}オブジェクトと一致していなければなりません。
         * @param i_th
         * 2値化敷居値。0から256までの値を指定します。
         * @return
         * マーカーが検出できたかを、真偽値で返します。
         * @
         */
        public bool detectMarkerLite(INyARRgbRaster i_raster, int i_th)
        {
            NyARIntSize size1, size2;
            size1 = _bin_raster.getSize();
            size2 = i_raster.getSize();
            //System.Windows.Forms.MessageBox.Show("   bin: w " + size1.w.ToString() + " h " + size1.h.ToString() +
            //                                   "\nraster: w " + size2.w.ToString() + " h " + size2.h.ToString());
            //サイズチェック
            if (!this._bin_raster.getSize().isEqualSize(i_raster.getSize()))
            {
                throw new NyARException();
            }
            //最終入力ラスタを更新
            if (this._last_input_raster != i_raster)
            {
                this._bin_filter = (INyARRgb2GsFilterArtkTh)i_raster.createInterface(typeof(INyARRgb2GsFilterArtkTh));
                this._last_input_raster = i_raster;
            }
            //ラスタを2値イメージに変換する.
            this._bin_filter.doFilter(i_th, this._bin_raster);

            //コールバックハンドラの準備
            this._confidence = 0;
            this._last_input_raster = i_raster;
            //
            //マーカ検出器をコール
            this.execDetectMarker();
            if (this._confidence == 0)
            {
                return false;
            }
            return true;
        }
开发者ID:walidBelfadel,项目名称:MARS_project,代码行数:45,代码来源:NyARSingleDetectMarker.cs

示例9: update

 /**
  * Based on the input image, this function updates the status of the instance.
  * This function increments the time stamp.
  * @param i_input
  * @
  */
 public virtual void update(INyARRgbRaster i_input)
 {
     //Preparation of raster driver
     if (this._ref_raster != i_input)
     {
         this._rgb2gs = (INyARRgb2GsFilter)i_input.createInterface(typeof(INyARRgb2GsFilter));
         this._pcopy = (INyARPerspectiveCopy)i_input.createInterface(typeof(INyARPerspectiveCopy));
         this._ref_raster = i_input;
     }
     //Increment of the source id
     this._src_ts++;
 }
开发者ID:sadiburak,项目名称:ouraugmentedreality,代码行数:18,代码来源:NyARSensor.cs


注:本文中的INyARRgbRaster.createInterface方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。