読者です 読者をやめる 読者になる 読者になる

元派遣プログラマの自称技術系ブログです。雑記とか自作のオープンソースプロジェクトの話とか。
Javaとか組込とかできます。お仕事ください。

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
	コメント修正/最適化