NyARToolkit/2.3.0リリース
NyARToolkit/2.3.0をリリースします。
2.3.0にバグがありました。修正版をリリースするまでの間、公開を停止します。
NyARToolkit/2.3.1、NyARToolkitCS/2.3.0の公開を再開しました。
当初は4月末くらいには出そうと思っていたんだけど、IDマーカシステムの仕様策定&使えるレベルまで安定させる&5月病で思ったよりも時間が…。
というわけで、本日リリースです。
更新内容は以下のとおり。
- IDマーカシステムのサポート(NyId規格)
- IDマーカシステムのサンプルアプリの追加
- 内部APIの変更
- その他細かい修正
- チケット消化(#16673,#14547,#14546)
目玉は1のIDマーカシステム(NyId)です。他のマーカベースARにはIDマーカがあったんですが、NyARToolkitにはなかったんですよね。ということでやっと追加です。このIDシステムは9〜169bit(現在は最大25bitまで)のデータを格納できるので、例えば簡易的なバーコードの代わりに使えるかも知れません。
IDマーカのエンコーダはまだ実装途中ですが、一応規格範囲内できちんと動作します。
マーカの仕様はこちらのドキュメントを参照してください。今後も互換性を保ちながら、規格をアップデートしていく予定です。
エラー - NyARToolKit - SourceForge.JP
なお、現在はまだ技術不足のため、追従性があまり良くありません。(それなりには使えますが。)
サンプルプログラムは、NyARToolkit.sample.joglプロジェクトの、SingleNyIdMarker.javaにあります。(1個のマーカを追跡するサンプルアプリケーションです。)
今後は、マーカIDのマスクパターン対応とか、その辺かな?
以下は、NyARToolKit/2.3.0と2.2.xの差分になります。
+JavaSimpleLite 更新:GL_DEPTH_TESTフラグの追加、init関数でar_codeのロード手順を修正、処理効率向上のために修正。 +NyARCustomSingleDetectMarker, NyARDetectMarker 更新:NyARCode, NyARMatchPatt, NyARColorPattの仕様変更に追従 +JmfNyARRaster_RGB, INyARRgbPixelReader, NyARRgbPixelReader_RGB24, NyARRgbRaster_BGAR, NyARRgbRaster_Blank, NyARColorPatt_O1 更新:コメント修正/最適化 +NyARBufferReader, NyARBinRaster クラススコープ変更: +NyARCode API変更:差分イメージの生成・保持を、NyARMatchPattDeviationBlackWhiteと、NyARMatchPattDeviationColorに移譲。 +NyARColorPatt_O3, NyARColorPatt_O1 API変更:独自形式から取得イメージの形式をNyARRasterに変更。 +INyARColorPatt API変更:INyARRasterを継承するように変更。 +NyARMatchPatt_Color_WITHOUT_PCA, NyARMatchPatt_Color_WITH_PCA API変更:入力データをNyARCodeとNyARMatchPattDeviationColorに変更。最適化など +NyARMatchPatt_BlackWhite API変更:入力データをNyARCodeとNyARMatchPattDeviationBlackWhiteに変更。最適化など +INyARMatchPatt API変更:NyARMatchPatt_ColorとNyARMatchPatt_BlackWhite分離に伴い、非互換関数の削除 +NyARMatchPattResult 追加:NyARMatchPatt_Xの戻り値を受け取る構造体。 +NyARRaster 追加:簡易ラスタオブジェクト生成クラス +NyARRgbRaster_BasicClass クラス継承変更。NyARRaster_BasicClassを継承しないようにした。 +NyARSingleMarkerProcessor 追加:1マーカ追跡用のアプリケーションプロセッサクラス。 変更:1/2ラスタ仕様を等倍ラスタに変更 +RawFileTest_X2, NyARException, INyARBufferReader, NyARDoubleMatrix33, NyARDoubleMatrix34, NyARCustomSingleDetectMarker, NyARI64matrix22, NyObjectStack, 変更:雑多な修正 +INyARBufferReader, NyARRgbPixelReader_INT1D_GLAY_8, NyARRgbPixelReader_INT1D_X8R8G8B8_32, 追加:ラスタ処理の標準処理用クラス +NyARFixedFloatFitVecCalculator 変更:private変数名の変更 +NyARVec API変更:不要関数削除 +NyARRotTransOptimize_Base, NyARDoublePoint3d 変更:MatrixのcopyFrom関数改名に関する修正 +NyARDoublePoint2d API追加:setValue関数, createArray関数の増設など +NyARIntPoint2d, NyARDoubleMatrix44 追加: +NyARSquareDetector_Quad, NyARSquareDetector_X2, NyARQrCodeDetector, NyARColorPatt_O3, NyARIntPointStack, NyARIntPoint, NyARSquareDetector, NyARSquare, NyARCustomSingleDetectMarker 変更:NyARIntPointの型名変更対応 +NyARPca2d_MatrixPCA 変更:NyARMatの関数名変更に関する修正 +NyARMatrix API変更:不要関数の削除、private変数の削除など +INyARColorPatt 変更:継承元をRgbラスタに変更 +NyARRasterThresholdAnalyzer_DiffHistgram, INyARRasterThresholdAnalyzer, NyARRasterThresholdAnalyzer_PTile, NyARRasterThresholdAnalyzer_SlidePTile, API変更:INyARRasterThresholdAnalyzerのインタフェイス変更に関わる修正 +BufferdImageSink 追加:NyARRaster等をJavaImageへ変換する便利クラス。 ----IDマーカ関係---- +SingleNyIdMarker 追加:Idマーカ認識のサンプルプログラム +SingleNyIdMarkerProcessor, NyIdMarkerPickup, NyIdMarkerPattern, NyIdMarkerParam, NyIdMarkerDataEncoder_RawBit, INyIdMarkerData, INyIdMarkerDataEncoder 追加:IDマーカシステム関連のクラス +NyARSingleEdgeFinder, NyARColorPatt_PseudoAffine, NyARSystemOfLinerEquationProcessor, NyARDoubleMatrixProcessor, NyARPerspectiveParamGenerator_O1, NyARPerspectiveParamGenerator 追加:エッジ検出クラス, 疑似アフィン変換クラス、連立一次方程式クラス、行列型計算クラス、射影変換計算クラス(最適化版)、射影変換クラス ----Sandbox---- +NyARSingleDetectMarker_Quad, NyARSingleDetectMarker_X2 NyARCode, NyARMatchPatt, NyARColorPattの仕様変更に追従 +NyARFixedFloatRotMatrix refAngle関数の追加とgetAngle関数の削除 +NyARTransMat_X2, NyARFixedFloatRotTransOptimize_O2 angle取得機能に関係する修正 +NyARQrCodeDetector 配列一次元化に関する修正 +RawTest_X2 コメント修正/最適化