/** * 画像のサイズを指定できる{@link #addNftTarget}です。 * @param i_fileset_prefix * {@link #addNftTarget(String)}を参照してください。 * @param i_width_in_msec * 画像サイズの横幅をmm単位で指定します。立幅は横幅に応じてスケーリングされます。 * @return * 特徴点セットのID値 */ public int addNftTarget(String i_filepath, double i_width_in_msec) { if (System.Text.RegularExpressions.Regex.IsMatch(i_filepath, ".*\\.nftdataset$")) { return(this.addNftTarget(NyARNftDataSet.loadFromNftDataSet(i_filepath, i_width_in_msec))); } else { return(this.addNftTarget(NyARNftDataSet.loadFromNftFiles(i_filepath, i_width_in_msec))); } }
/** * 生成済みのNFTの特徴点データセットをインスタンスに登録します。 * @param i_dataset * 登録する特徴点データセット * @return * 特徴点セットのID値 */ public int addNftTarget(NyARNftDataSet i_dataset) { //KPMスレッドが待機中になるまで待つ while (this._kpm_thread.ThreadState == ThreadState.Running) { Thread.Sleep(1); } //追加 this._nftdatalist.Add(new NftTarget(i_dataset)); return(this._nftdatalist.Count - 1); }
/** コンストラクタ*/ public NftTarget(NyARNftDataSet i_dataset) { this.dataset = i_dataset; this.stage = ST_KPM_SEARCH; this.back_has_result = false; }
/** * InputStreamから.nftdatasetを読みだして登録します。 * @param i_stream * @param i_width_in_msec * @return */ public int addNftTarget(Stream i_stream, double i_width_in_msec) { return(this.addNftTarget(NyARNftDataSet.loadFromNftDataSet(i_stream, i_width_in_msec))); }
/** * NFTファイルセットのプレフィックスを指定して、NFTターゲットをインスタンスに登録します。 * 登録される画像のサイズはNFTターゲットファイルの値です。 * @param i_filepath * NFTターゲットを指定します。 * 拡張子が.nftdatasetの場合は、nftdataset形式のファイルを登録します。 * それ以外の場合は、ファイルパスに.iset,.fset,.fset3を加えたファイルをセットにして登録します。 * @return * 特徴点セットのID値 */ public int addNftTarget(String i_fileset_prefix) { return(this.addNftTarget(NyARNftDataSet.loadFromNftFiles(i_fileset_prefix))); }