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


Java INyARRgbRaster.createInterface方法代码示例

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


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

示例1: setRaster

import jp.nyatla.nyartoolkit.core.raster.rgb.INyARRgbRaster; //导入方法依赖的package包/类
/**
 * この関数は、ラスタから差分画像を生成して、インスタンスに格納します。
 * @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(IRasterDriver.class);
		this._last_input_raster=i_raster;
	}
	this._pow=this._last_drv.makeColorData(this._data);
	return;
}
 
开发者ID:nyatla,项目名称:NyARToolkit,代码行数:18,代码来源:NyARMatchPattDeviationColorData.java

示例2: update

import jp.nyatla.nyartoolkit.core.raster.rgb.INyARRgbRaster; //导入方法依赖的package包/类
/**
 * この関数は、入力画像を元にインスタンスの状態を更新します。
 * 関数はタイムスタンプをインクリメントします。
 * @param i_input
 * カラー画像。画像のサイズは、コンストラクタに設定したスクリーンサイズと同じである必要があります。
 * この画像は、次回の{@link #update}まで、インスタンスから参照されます。
 */
public void update(INyARRgbRaster i_input)
{
	//ラスタドライバの準備
	if(this._ref_raster!=i_input){
		this._rgb2gs=(INyARRgb2GsFilter) i_input.createInterface(INyARRgb2GsFilter.class);
		this._pcopy=(INyARPerspectiveCopy) i_input.createInterface(INyARPerspectiveCopy.class);
		this._ref_raster=i_input;
	}
	//ソースidのインクリメント
	this._src_ts++;
}
 
开发者ID:nyatla,项目名称:NyARToolkit,代码行数:19,代码来源:NyARSensor.java

示例3: main

import jp.nyatla.nyartoolkit.core.raster.rgb.INyARRgbRaster; //导入方法依赖的package包/类
/**
 * テストパターン
 * @param args
 */
public static void main(String[] args)
{
	NyARDoubleMatrix44 DEST_MAT=new NyARDoubleMatrix44(
			new double[]{
					0.9832165682361184,0.004789697223621061,-0.18237945710280384,-190.59060790299358,
					0.012860184615056927,-0.9989882709616935,0.04309419210331572,64.04490277502563,
					-0.18198852802987958,-0.044716355753573425,-0.9822833548209547,616.6427596804766,
			0,0,0,1});
	NyARDoubleMatrix44 SRC_MAT=new NyARDoubleMatrix44(new double[]{
		0.984363556,	0.00667689135,	-0.176022261,	-191.179672,
		0.0115975942,	-0.999569774,	0.0269410834,	63.0028076,
		-0.175766647,	-0.0285612550,	-0.984017432,	611.758728,
		0,0,0,1});

	try {
		String img_file="../Data/testcase/test.raw";
		String cparam=	"../Data/testcase/camera_para5.dat";
		String fsetfile="../Data/testcase/pinball.fset";
		String isetfile="../Data/testcase/pinball.iset5";
		//カメラパラメータ
		NyARParam param=NyARParam.loadFromARParamFile(new FileInputStream(cparam),640,480,NyARParam.DISTFACTOR_RAW);
		NyARDoublePoint2d d=new NyARDoublePoint2d();
		param.getDistortionFactor().ideal2Observ(100,100, d);
		param.getDistortionFactor().observ2Ideal(100,100, d);
		
		INyARGrayscaleRaster gs=NyARGrayscaleRaster.createInstance(640,480);
		//試験画像の準備
		{
			INyARRgbRaster rgb=NyARRgbRaster.createInstance(640,480,NyARBufferType.BYTE1D_B8G8R8X8_32);
			FileInputStream fs = new FileInputStream(img_file);
			fs.read((byte[])rgb.getBuffer());
			INyARRgb2GsFilterRgbAve filter=(INyARRgb2GsFilterRgbAve) rgb.createInterface(INyARRgb2GsFilterRgbAve.class);
			filter.convert(gs);			
		}
		NyARDoubleMatrix44 ret=new NyARDoubleMatrix44();
		NyARNftFsetFile fset=NyARNftFsetFile.loadFromFsetFile(new FileInputStream(fsetfile));
		NyARNftIsetFile iset=NyARNftIsetFile.loadFromIsetFile(new FileInputStream(isetfile));
		AR2Handle tracking=new AR2Handle(param,iset,fset);
		tracking.ar2SetTrackingThresh(5.0);
		tracking.ar2SetSimThresh(0.50);
		tracking.ar2SetSearchFeatureNum(16);
		tracking.ar2SetSearchSize(12);
		tracking.ar2SetTemplateSize1(6);
		tracking.ar2SetTemplateSize2(6);
		//validation test
		for(int j=0;j<10;j++){
			long s=System.currentTimeMillis();
			for(int i=0;i<3000;i++){
				tracking.setInitialTransmat(SRC_MAT);
				ret.setValue(SRC_MAT);
				tracking.ar2Tracking(gs, ret);
			}
			System.out.println(System.currentTimeMillis()-s);
			System.out.println(ret.equals(DEST_MAT));
		}
	} catch (Exception e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
}
 
开发者ID:nyatla,项目名称:NyARToolkit,代码行数:65,代码来源:AR2Handle.java

示例4: main

import jp.nyatla.nyartoolkit.core.raster.rgb.INyARRgbRaster; //导入方法依赖的package包/类
/**
 * @param args
 */
public static void main(String[] args)
{
	try {
		String img_file="../Data/testcase/test.raw";
		String cparam_file=	"../Data/testcase/camera_para5.dat";
		String fsetfile="../Data/testcase/pinball.fset";
		String fset3file="../Data/testcase/pinball.fset3";
		String isetfile="../Data/testcase/pinball.iset5";
		//カメラパラメータ
		NyARParam param=NyARParam.loadFromARParamFile(new FileInputStream(cparam_file),640,480,NyARParam.DISTFACTOR_RAW);
		
		INyARGrayscaleRaster gs=NyARGrayscaleRaster.createInstance(640,480);
		//試験画像の準備
		{
			INyARRgbRaster rgb=NyARRgbRaster.createInstance(640,480,NyARBufferType.BYTE1D_B8G8R8X8_32);
			FileInputStream fs = new FileInputStream(img_file);
			fs.read((byte[])rgb.getBuffer());
			INyARRgb2GsFilterRgbAve filter=(INyARRgb2GsFilterRgbAve) rgb.createInterface(INyARRgb2GsFilterRgbAve.class);
			filter.convert(gs);				
		}
		NyARNftFreakFsetFile f = NyARNftFreakFsetFile.loadFromfset3File(new FileInputStream(new File(fset3file)));
		long st;
		st=System.currentTimeMillis();
		KpmHandle kpm=new KpmHandle(new ARParamLT(param));
		kpm.kpmSetRefDataSet(f);
		System.out.println(System.currentTimeMillis()-st);
		for(int j=0;j<10;j++){
			st=System.currentTimeMillis();
		for(int i=0;i<10;i++){
			kpm.kpmMatching(gs);
		}
		System.out.println(System.currentTimeMillis()-st);
		}
		NyARDoubleMatrix44 TEST_PATT=new NyARDoubleMatrix44(new double[]{	0.9843635410774265,0.006676891783837065,-0.17602226595996517,-191.17967199668533,
			0.011597578022657571,-0.9995697471256431,0.02694098764508235,63.00280574839347,
			-0.17576664981496215,-0.028561157958401542,-0.9840174516078957	,611.7587155355864,
			0,0,0,1});
		System.out.println(TEST_PATT.equals(kpm.result[0].camPose));

	} catch (Exception e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
}
 
开发者ID:nyatla,项目名称:NyARToolkit,代码行数:48,代码来源:KpmBenchmarkBase.java

示例5: main

import jp.nyatla.nyartoolkit.core.raster.rgb.INyARRgbRaster; //导入方法依赖的package包/类
public static void main(String[] args)
{
	NyARDoubleMatrix44 DEST_MAT=new NyARDoubleMatrix44(
			new double[]{
					0.9832165682361184,0.004789697223621061,-0.18237945710280384,-190.59060790299358,
					0.012860184615056927,-0.9989882709616935,0.04309419210331572,64.04490277502563,
					-0.18198852802987958,-0.044716355753573425,-0.9822833548209547,616.6427596804766,
			0,0,0,1});
	NyARDoubleMatrix44 SRC_MAT=new NyARDoubleMatrix44(new double[]{
		0.984363556,	0.00667689135,	-0.176022261,	-191.179672,
		0.0115975942,	-0.999569774,	0.0269410834,	63.0028076,
		-0.175766647,	-0.0285612550,	-0.984017432,	611.758728,
		0,0,0,1});

	try {
		String img_file="../Data/testcase/test.raw";
		String cparam=	"../Data/testcase/camera_para5.dat";
		String fsetfile="../Data/testcase/pinball.fset";
		String isetfile="../Data/testcase/pinball.iset5";
		//カメラパラメータ
		NyARParam param=NyARParam.loadFromARParamFile(new FileInputStream(cparam),640,480,NyARParam.DISTFACTOR_LT_ARTK5);

		
		INyARGrayscaleRaster gs=NyARGrayscaleRaster.createInstance(640,480);
		//試験画像の準備
		{
			INyARRgbRaster rgb=NyARRgbRaster.createInstance(640,480,NyARBufferType.BYTE1D_B8G8R8X8_32);
			FileInputStream fs = new FileInputStream(img_file);
			fs.read((byte[])rgb.getBuffer());
			INyARRgb2GsFilterRgbAve filter=(INyARRgb2GsFilterRgbAve) rgb.createInterface(INyARRgb2GsFilterRgbAve.class);
			filter.convert(gs);			
		}
		NyARNftFsetFile fset=NyARNftFsetFile.loadFromFsetFile(new FileInputStream(fsetfile));
		NyARNftIsetFile iset=NyARNftIsetFile.loadFromIsetFile(new FileInputStream(isetfile));
		NyARSurfaceTracker st=new NyARSurfaceTracker(param,16,0.5);
		NyARSurfaceDataSet sd=new NyARSurfaceDataSet(iset,fset);
		NyARDoubleMatrix44 sret=new NyARDoubleMatrix44();
		NyARDoublePoint2d[] o_pos2d=NyARDoublePoint2d.createArray(16);
		NyARDoublePoint3d[] o_pos3d=NyARDoublePoint3d.createArray(16);
		NyARSurfaceTrackingTransmatUtils tmat=new NyARSurfaceTrackingTransmatUtils(param,5.0);
		NyARDoubleMatrix44 tret=new NyARDoubleMatrix44();
		for(int j=0;j<10;j++){
			long s=System.currentTimeMillis();
			for(int i=0;i<3000;i++){
			sret.setValue(SRC_MAT);
			int nop=st.tracking(gs, sd,sret, o_pos2d, o_pos3d,16);
			//Transmatの試験
			NyARDoublePoint3d off=NyARSurfaceTrackingTransmatUtils.centerOffset(o_pos3d,nop,new NyARDoublePoint3d());
			NyARSurfaceTrackingTransmatUtils.modifyInputOffset(sret, o_pos3d,nop,off);
			tmat.surfaceTrackingTransmat(sret, o_pos2d, o_pos3d, nop,tret,new NyARTransMatResultParam());
			NyARSurfaceTrackingTransmatUtils.restoreOutputOffset(tret,off);
			System.out.println(tret.equals(DEST_MAT));
		}
		System.out.println(System.currentTimeMillis()-s);
		}
		return;
	} catch (Exception e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
}
 
开发者ID:nyatla,项目名称:NyARToolkit,代码行数:62,代码来源:NyARSurfaceTracker.java

示例6: main

import jp.nyatla.nyartoolkit.core.raster.rgb.INyARRgbRaster; //导入方法依赖的package包/类
/**
	 * @param args
	 */
	public static void main(String[] args)
	{
		try {
			String img_file="../Data/testcase/test.raw";
			String cparam_file=	"../Data/testcase/camera_para5.dat";
			String fset3file="../Data/testcase/pinball.fset3";
			//カメラパラメータ
			NyARParam param=NyARParam.loadFromARParamFile(new FileInputStream(cparam_file),640,480,NyARParam.DISTFACTOR_LT_ARTK5);
			
			INyARGrayscaleRaster gs=NyARGrayscaleRaster.createInstance(640,480);
			//試験画像の準備
			{
				INyARRgbRaster rgb=NyARRgbRaster.createInstance(640,480,NyARBufferType.BYTE1D_B8G8R8X8_32);
				FileInputStream fs = new FileInputStream(img_file);
				fs.read((byte[])rgb.getBuffer());
				INyARRgb2GsFilterRgbAve filter=(INyARRgb2GsFilterRgbAve) rgb.createInterface(INyARRgb2GsFilterRgbAve.class);
				filter.convert(gs);				
			}
			NyARDoubleMatrix44 tmat=new NyARDoubleMatrix44();
			NyARNftFreakFsetFile f = NyARNftFreakFsetFile.loadFromfset3File(new FileInputStream(new File(fset3file)));
//			KpmHandle kpm=new KpmHandle(new ARParamLT(param));
			long st;
			st=System.currentTimeMillis();
			FreakKeypointMatching kpm=new FreakKeypointMatching(param);
			KeyframeMap keymap=new KeyframeMap(f,0);
			System.out.println(System.currentTimeMillis()-st);
			for(int j=0;j<4;j++){
				st=System.currentTimeMillis();
			for(int i=0;i<20;i++){
				kpm.updateInputImage(gs);
				kpm.updateFeatureSet();
				kpm.kpmMatching(keymap,tmat);
			}
			//FreakKeypointMatching#kMaxNumFeaturesを300にしてテストして。
			System.out.println("Total="+(System.currentTimeMillis()-st));
			NyARDoubleMatrix44 TEST_PATT=new NyARDoubleMatrix44(new double[]{	0.9843635410774265,0.006676891783837065,-0.17602226595996517,-191.17967199668533,
					0.011597578022657571,-0.9995697471256431,0.02694098764508235,63.00280574839347,
					-0.17576664981496215,-0.028561157958401542,-0.9840174516078957	,611.7587155355864,
					0,0,0,1});
				System.out.println(TEST_PATT.equals(tmat));
			}

		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
 
开发者ID:nyatla,项目名称:NyARToolkit,代码行数:51,代码来源:KpmBenchmark.java

示例7: addARMarker

import jp.nyatla.nyartoolkit.core.raster.rgb.INyARRgbRaster; //导入方法依赖的package包/类
/**
 * この関数は、画像からARマーカパターンを生成して、登録します。
 * ビットマップ等の画像から生成したパターンは、撮影画像から生成したパターンファイルと比較して、撮影画像の色調変化に弱くなります。
 * 注意してください。
 * @param i_raster
 * マーカ画像を格納したラスタオブジェクト
 * @param i_patt_resolution
 * マーカの解像度
 * @param i_patt_edge_percentage
 * マーカのエッジ領域のサイズ。マーカパターンは、i_rasterからエッジ領域を除いたパターンから生成します。
 * ARToolKitスタイルの画像を用いる場合は、25を指定します。
 * @param i_marker_size
 * マーカの平方サイズ[mm]
 * @return
 * マーカID(ハンドル)値。
 */
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(INyARPerspectiveCopy.class);
	INyARRgbRaster tr=NyARRgbRaster.createInstance(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:nyatla,项目名称:NyARToolkit,代码行数:29,代码来源:NyARMarkerSystem.java


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