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


Java INyARRgbRaster.getBufferType方法代码示例

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


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

示例1: doFilter

import jp.nyatla.nyartoolkit.core.raster.rgb.INyARRgbRaster; //导入方法依赖的package包/类
public void doFilter(INyARRgbRaster i_input, NyARGrayscaleRaster i_output) throws NyARRuntimeException
{
	
	assert(	i_output.isEqualBufferType(NyARBufferType.INT1D_GRAY_8));
	assert (i_input.getSize().isEqualSize(i_output.getSize()) == true);

	final int[] out_buf = (int[]) i_output.getBuffer();
	final byte[] in_buf = (byte[]) i_input.getBuffer();

	NyARIntSize size = i_output.getSize();
	switch (i_input.getBufferType()) {
	case NyARBufferType.BYTE1D_B8G8R8_24:
	case NyARBufferType.BYTE1D_R8G8B8_24:
		convert24BitRgb(in_buf, out_buf, size);
		break;
	default:
		throw new NyARRuntimeException();
	}
	return;
}
 
开发者ID:nyatla,项目名称:NyARToolkit,代码行数:21,代码来源:NyARRasterFilter_Rgb2Gs_RgbOr.java

示例2: LabelingTest

import jp.nyatla.nyartoolkit.core.raster.rgb.INyARRgbRaster; //导入方法依赖的package包/类
public LabelingTest() throws NyARRuntimeException,Exception
{
	this._src_image = ImageIO.read(new File(source_file));
	
	INyARRgbRaster ra =new NyARRgbRaster_RGB(this._src_image.getWidth(),this._src_image.getHeight());
	NyARRasterImageIO.copy(this._src_image,ra);
	//GS値化
	NyARGrayscaleRaster gs=new NyARGrayscaleRaster(this._src_image.getWidth(),this._src_image.getHeight());
	NyARRasterFilter_Rgb2Gs_RgbAve192 filter=new NyARRasterFilter_Rgb2Gs_RgbAve192(ra.getBufferType());
	filter.doFilter(ra,gs);
	//ラべリングの試験
	Main_Labeling lv=new Main_Labeling(ra.getWidth(),ra.getHeight());
	lv.current_gs=gs;
	lv.current_th=230;
	lv.labeling(gs,lv.current_th);
	//画像をストア
	
	
	this.addWindowListener(new WindowAdapter() {
		public void windowClosing(WindowEvent e)
		{
			System.exit(0);
		}
	});
	//ペイント
}
 
开发者ID:nyatla,项目名称:NyARToolkit,代码行数:27,代码来源:LabelingTest.java

示例3: UpdateInput

import jp.nyatla.nyartoolkit.core.raster.rgb.INyARRgbRaster; //导入方法依赖的package包/类
public void UpdateInput(NyARTrackerSource_Reference o_input) throws NyARRuntimeException
{
       Graphics s=_src_image.getGraphics();
       s.setColor(Color.white);
       s.fillRect(0,0,320,240);
       s.setColor(Color.black);
       //s.fillRect(x, y,50,50);
       s.fillRect(x2, y2,50,50);
       x+=sx;y+=sy;
       if(x<0 || x>200){sx*=-1;}if(y<0 || y>200){sy*=-1;}
       x2+=sx2;y2+=sy2;
       if(x2<0 || x2>200){sx2*=-1;}if(y2<0 || y2>200){sy2*=-1;}
       INyARRgbRaster ra =new NyARRgbRaster_RGB(320,240);
       NyARRasterImageIO.copy(_src_image, ra);
	//GS値化
	NyARGrayscaleRaster gs=new NyARGrayscaleRaster(320,240);
	NyARRasterFilter_Rgb2Gs_RgbAve192 filter=new NyARRasterFilter_Rgb2Gs_RgbAve192(ra.getBufferType());
	filter.doFilter(ra,gs);
	//samplerへ入力
	o_input.wrapBuffer(gs);
	
}
 
开发者ID:nyatla,项目名称:NyARToolkit,代码行数:23,代码来源:Test_TrackTerget.java

示例4: createDriver

import jp.nyatla.nyartoolkit.core.raster.rgb.INyARRgbRaster; //导入方法依赖的package包/类
public static INyARRgb2GsFilterArtkTh createDriver(INyARRgbRaster i_raster)
{
	switch (i_raster.getBufferType())
	{
	case NyARBufferType.BYTE1D_B8G8R8_24:
	case NyARBufferType.BYTE1D_R8G8B8_24:
		return new NyARRgb2GsFilterArtkTh_BYTE1D_C8C8C8_24(i_raster);
	case NyARBufferType.BYTE1D_B8G8R8X8_32:
		return new NyARRgb2GsFilterArtkTh_BYTE1D_B8G8R8X8_32(i_raster);
	case NyARBufferType.BYTE1D_X8R8G8B8_32:
	case NyARBufferType.BYTE1D_X8B8G8R8_32:
		return new NyARRgb2GsFilterArtkTh_BYTE1D_X8C8C8C8_32(i_raster);
	case NyARBufferType.INT1D_X8R8G8B8_32:
		return new NyARRgb2GsFilterArtkTh_INT1D_X8R8G8B8_32(i_raster);
	case NyARBufferType.WORD1D_R5G6B5_16LE:
		return new NyARRgb2GsFilterArtkTh_WORD1D_R5G6B5_16LE(i_raster);
	default:
		return new NyARRgb2GsFilterArtkTh_Any(i_raster);
	}
}
 
开发者ID:nyatla,项目名称:NyARToolkit,代码行数:21,代码来源:NyARRgb2GsFilterArtkThFactory.java

示例5: createRgbAveDriver

import jp.nyatla.nyartoolkit.core.raster.rgb.INyARRgbRaster; //导入方法依赖的package包/类
/**
 * この関数は、(R*G*B)/3 でグレースケール化するフィルタを生成します。
 * 最適化されている形式は以下の通りです。
 * <ul>
 * <li>{@link NyARBufferType#BYTE1D_B8G8R8X8_32}</li>
 * </ul>
 * @param i_raster
 * @return
 * @throws NyARRuntimeException
 */
public static INyARRgb2GsFilterRgbAve createRgbAveDriver(INyARRgbRaster i_raster)
{
	switch(i_raster.getBufferType()){
	case NyARBufferType.BYTE1D_B8G8R8X8_32:
		return new NyARRgb2GsFilterRgbAve_BYTE1D_B8G8R8X8_32(i_raster);
	case NyARBufferType.BYTE1D_B8G8R8_24:
		return new NyARRgb2GsFilterRgbAve_BYTE1D_C8C8C8_24(i_raster);
	case NyARBufferType.BYTE1D_X8R8G8B8_32:
	case NyARBufferType.BYTE1D_X8B8G8R8_32:
		return new NyARRgb2GsFilterRgbAve_BYTE1D_X8C8C8C8_32(i_raster);
	case NyARBufferType.INT1D_X8R8G8B8_32:
		return new NyARRgb2GsFilterRgbAve_INT1D_X8R8G8B8_32(i_raster);
	default:
		return new NyARRgb2GsFilterRgbAve_Any(i_raster);
	}
}
 
开发者ID:nyatla,项目名称:NyARToolkit,代码行数:27,代码来源:NyARRgb2GsFilterFactory.java

示例6: Test

import jp.nyatla.nyartoolkit.core.raster.rgb.INyARRgbRaster; //导入方法依赖的package包/类
/**
   * テスト関数の本体です。
   * 設定ファイル、サンプル画像の読み込んだのちに、1種類のマーカを登録した{@link MarkerProcessor}を生成し、
   * 1回だけ画像を入力して、マーカ検出を試行します。
   * @throws Exception
   */	
  public void Test() throws Exception
  {
      //AR用カメラパラメタファイルをロード
      NyARParam ap = NyARParam.loadFromARParamFile(new FileInputStream(PARAM_FILE),320,240);

// 試験イメージの読み出し(320x240 BGRAのRAWデータ)
File f = new File(data_file);
FileInputStream fs = new FileInputStream(data_file);
byte[] buf = new byte[(int) f.length()];
fs.read(buf);		

      INyARRgbRaster ra = NyARRgbRaster.createInstance(320, 240,NyARBufferType.BYTE1D_B8G8R8X8_32,false);
      ra.wrapBuffer(buf);

      MarkerProcessor pr = new MarkerProcessor(ap, ra.getBufferType());
      NyARCode[] codes=new NyARCode[1];
      codes[0]=NyARCode.loadFromARPattFile(new FileInputStream(CARCODE_FILE),16,16);
      pr.setARCodeTable(codes,16,80.0);
      pr.detectMarker(ra);
      return;
  }
 
开发者ID:nyatla,项目名称:NyARToolkit,代码行数:28,代码来源:SingleARMarkerTest.java

示例7: Test

import jp.nyatla.nyartoolkit.core.raster.rgb.INyARRgbRaster; //导入方法依赖的package包/类
/**
   * テスト関数の本体です。
   * 設定ファイル、サンプル画像の読み込んだのちに{@link MarkerProcessor}を生成し、
   * 1回だけ画像を入力して、マーカ検出を試行します。
   * @throws Exception
   */
  public void Test() throws Exception
  {
      //AR用カメラパラメタファイルをロード
      NyARParam ap = NyARParam.loadFromARParamFile(new FileInputStream(camera_file),320,240);

// 試験イメージの読み出し(320x240 BGRAのRAWデータ)
File f = new File(data_file);
FileInputStream fs = new FileInputStream(data_file);
byte[] buf = new byte[(int) f.length()];
fs.read(buf);		

      INyARRgbRaster ra =NyARRgbRaster.createInstance(320, 240,NyARBufferType.BYTE1D_R8G8B8_24,false);
      ra.wrapBuffer(buf);

      MarkerProcessor pr = new MarkerProcessor(ap, ra.getBufferType());
      pr.detectMarker(ra);
      return;
  }
 
开发者ID:nyatla,项目名称:NyARToolkit,代码行数:25,代码来源:NyIdTest.java

示例8: createDriver

import jp.nyatla.nyartoolkit.core.raster.rgb.INyARRgbRaster; //导入方法依赖的package包/类
public static IRasterDriver createDriver(INyARRgbRaster i_raster)
{
	switch(i_raster.getBufferType())
	{
	case NyARBufferType.INT1D_X8R8G8B8_32:
		return new NyARMatchPattDeviationDataDriver_INT1D_X8R8G8B8_32(i_raster);
	default:
		break;
	}
	return new NyARMatchPattDeviationDataDriver_RGBAny(i_raster);
}
 
开发者ID:nyatla,项目名称:NyARToolkit,代码行数:12,代码来源:NyARMatchPattDeviationColorData.java

示例9: createRgbCubeDriver

import jp.nyatla.nyartoolkit.core.raster.rgb.INyARRgbRaster; //导入方法依赖的package包/类
/**
 * この関数は、(R*G*B>>16) でグレースケール化するフィルタを生成します。
 * 最適化されていません。
 * @param i_raster
 * @return
 * @throws NyARRuntimeException
 */
public static INyARRgb2GsFilterRgbAve createRgbCubeDriver(INyARRgbRaster i_raster)
{
	switch(i_raster.getBufferType()){
	default:
		return new NyARRgb2GsFilterRgbCube_Any(i_raster);
	}
}
 
开发者ID:nyatla,项目名称:NyARToolkit,代码行数:15,代码来源:NyARRgb2GsFilterFactory.java

示例10: createYCbCrDriver

import jp.nyatla.nyartoolkit.core.raster.rgb.INyARRgbRaster; //导入方法依赖的package包/类
/**
 * この関数は(Yrcb)でグレースケール化するフィルタを生成します。
 * 最適化されていません。
 * @param i_raster
 * @return
 * @throws NyARRuntimeException
 */
public static INyARRgb2GsFilterYCbCr createYCbCrDriver(INyARRgbRaster i_raster)
{
	switch(i_raster.getBufferType()){
	default:
		return new NyARRgb2GsFilterYCbCr_Any(i_raster);
	}
}
 
开发者ID:nyatla,项目名称:NyARToolkit,代码行数:15,代码来源:NyARRgb2GsFilterFactory.java

示例11: drawRaster

import jp.nyatla.nyartoolkit.core.raster.rgb.INyARRgbRaster; //导入方法依赖的package包/类
/**
 * この関数は、指定したラスタを現在の座標系の平面に描画します。
 * @param i_gl
 * @param i_x
 * @param i_y
 * @param i_raster
 * @throws NyARRuntimeException
 */
public static void drawRaster(GL i_gl,INyARRgbRaster i_raster) throws NyARRuntimeException
{
	NyARIntSize s=i_raster.getSize();
	int[] n=new int[1];
	float[] color=new float[3];
	boolean old_is_texture_2d=i_gl.glIsEnabled(GL.GL_TEXTURE_2D);
	i_gl.glGetFloatv(GL.GL_CURRENT_COLOR,color,0);//カラーの退避
	i_gl.glColor3f(1,1,1);
	i_gl.glEnable(GL.GL_TEXTURE_2D);
	i_gl.glPixelStorei(GL.GL_UNPACK_ALIGNMENT, 1);
	i_gl.glGenTextures(1,n,0);
	i_gl.glTexParameteri(GL.GL_TEXTURE_2D,GL.GL_TEXTURE_MAG_FILTER,GL.GL_LINEAR);
	i_gl.glTexParameteri(GL.GL_TEXTURE_2D,GL.GL_TEXTURE_MIN_FILTER,GL.GL_LINEAR);
	switch(i_raster.getBufferType())
	{
	case NyARBufferType.BYTE1D_R8G8B8_24:
		i_gl.glTexImage2D(GL.GL_TEXTURE_2D,0, GL.GL_RGB,s.w,s.h,0,GL.GL_RGB,GL.GL_UNSIGNED_BYTE, ByteBuffer.wrap((byte[])i_raster.getBuffer()));
		break;
	case NyARBufferType.BYTE1D_B8G8R8_24:
		i_gl.glTexImage2D(GL.GL_TEXTURE_2D,0, GL.GL_RGB,s.w,s.h,0,GL.GL_BGR,GL.GL_UNSIGNED_BYTE, ByteBuffer.wrap((byte[])i_raster.getBuffer()));
		break;
	case NyARBufferType.BYTE1D_B8G8R8X8_32:
		i_gl.glTexImage2D(GL.GL_TEXTURE_2D,0, GL.GL_RGB,s.w,s.h,0,GL.GL_BGRA,GL.GL_UNSIGNED_BYTE, ByteBuffer.wrap((byte[])i_raster.getBuffer()));
		break;
	case NyARBufferType.INT1D_X8R8G8B8_32:
		i_gl.glTexImage2D(GL.GL_TEXTURE_2D,0, GL.GL_RGB,s.w,s.h,0,GL.GL_BGRA,GL.GL_UNSIGNED_BYTE, IntBuffer.wrap((int[])i_raster.getBuffer()));
		break;
	default:
		throw new NyARRuntimeException();
	}
	i_gl.glBegin(GL.GL_QUADS);
	i_gl.glBindTexture(GL.GL_TEXTURE_2D,n[0]);
	i_gl.glTexCoord2f(0,0);i_gl.glVertex3f(0,0,0);
	i_gl.glTexCoord2f(1,0);i_gl.glVertex3f(s.w,0,0);
	i_gl.glTexCoord2f(1,1);i_gl.glVertex3f(s.w,s.h,0);
	i_gl.glTexCoord2f(0,1);i_gl.glVertex3f(0,s.h,0);
	i_gl.glEnd();
	i_gl.glDeleteTextures(1,n,0);
	if(!old_is_texture_2d){
		i_gl.glDisable(GL.GL_TEXTURE_2D);
	}
	i_gl.glColor3fv(color,0);//カラーの復帰
}
 
开发者ID:nyatla,项目名称:NyARToolkit,代码行数:52,代码来源:NyARGLDrawUtil.java

示例12: drawRaster

import jp.nyatla.nyartoolkit.core.raster.rgb.INyARRgbRaster; //导入方法依赖的package包/类
/**
 * この関数は、指定したラスタを現在の座標系の平面に描画します。
 * @param i_gl
 * @param i_x
 * @param i_y
 * @param i_raster
 * @throws NyARRuntimeException
 */
public static void drawRaster(GL i_gl,INyARRgbRaster i_raster) throws NyARRuntimeException
{
	GL2 gl=i_gl.getGL2();
	
	NyARIntSize s=i_raster.getSize();
	int[] n=new int[1];
	float[] color=new float[3];
	boolean old_is_texture_2d=i_gl.glIsEnabled(GL.GL_TEXTURE_2D);
	gl.glGetFloatv(GL2.GL_CURRENT_COLOR,color,0);//カラーの退避
	gl.glColor3f(1,1,1);
	gl.glEnable(GL.GL_TEXTURE_2D);
	gl.glPixelStorei(GL.GL_UNPACK_ALIGNMENT, 1);
	gl.glGenTextures(1,n,0);
	gl.glTexParameteri(GL.GL_TEXTURE_2D,GL.GL_TEXTURE_MAG_FILTER,GL.GL_LINEAR);
	gl.glTexParameteri(GL.GL_TEXTURE_2D,GL.GL_TEXTURE_MIN_FILTER,GL.GL_LINEAR);
	switch(i_raster.getBufferType())
	{
	case NyARBufferType.BYTE1D_R8G8B8_24:
		i_gl.glTexImage2D(GL.GL_TEXTURE_2D,0, GL.GL_RGB,s.w,s.h,0,GL.GL_RGB,GL.GL_UNSIGNED_BYTE, ByteBuffer.wrap((byte[])i_raster.getBuffer()));
		break;
	case NyARBufferType.BYTE1D_B8G8R8_24:
		i_gl.glTexImage2D(GL.GL_TEXTURE_2D,0, GL.GL_RGB,s.w,s.h,0,GL.GL_BGR,GL.GL_UNSIGNED_BYTE, ByteBuffer.wrap((byte[])i_raster.getBuffer()));
		break;
	case NyARBufferType.BYTE1D_B8G8R8X8_32:
		i_gl.glTexImage2D(GL.GL_TEXTURE_2D,0, GL.GL_RGB,s.w,s.h,0,GL.GL_BGRA,GL.GL_UNSIGNED_BYTE, ByteBuffer.wrap((byte[])i_raster.getBuffer()));
		break;
	case NyARBufferType.INT1D_X8R8G8B8_32:
		i_gl.glTexImage2D(GL.GL_TEXTURE_2D,0, GL.GL_RGB,s.w,s.h,0,GL.GL_BGRA,GL.GL_UNSIGNED_BYTE, IntBuffer.wrap((int[])i_raster.getBuffer()));
		break;
	default:
		throw new NyARRuntimeException();
	}
	gl.glBegin(GL2.GL_QUADS);
	gl.glBindTexture(GL.GL_TEXTURE_2D,n[0]);
	gl.glTexCoord2f(0,0);gl.glVertex3f(0,0,0);
	gl.glTexCoord2f(1,0);gl.glVertex3f(s.w,0,0);
	gl.glTexCoord2f(1,1);gl.glVertex3f(s.w,s.h,0);
	gl.glTexCoord2f(0,1);gl.glVertex3f(0,s.h,0);
	gl.glEnd();
	i_gl.glDeleteTextures(1,n,0);
	if(!old_is_texture_2d){
		i_gl.glDisable(GL.GL_TEXTURE_2D);
	}
	gl.glColor3fv(color,0);//カラーの復帰
}
 
开发者ID:nyatla,项目名称:NyARToolkit,代码行数:54,代码来源:NyARGLDrawUtil.java

示例13: createDriver

import jp.nyatla.nyartoolkit.core.raster.rgb.INyARRgbRaster; //导入方法依赖的package包/类
/**
 * 指定したIN/OUTに最適な{@link INyARPerspectiveReaader}を生成します。
 * <p>入力ラスタについて
 * 基本的には全ての{@link INyARRgbRaster}を実装したクラスを処理できますが、次の3種類のバッファを持つものを推奨します。
 * <ul>
 * <li>{@link NyARBufferType#BYTE1D_B8G8R8X8_32}
 * <li>{@link NyARBufferType#BYTE1D_B8G8R8_24}
 * <li>{@link NyARBufferType#BYTE1D_R8G8B8_24}
 * </ul>
 * </p>
 * <p>出力ラスタについて
 * 基本的には全ての{@link NyARBufferType#INT1D_X8R8G8B8_32}形式のバッファを持つラスタを使用してください。
 * 他の形式でも動作しますが、低速な場合があります。
 * </p>
 * <p>高速化について - 
 * 入力ラスタ形式が、{@link NyARBufferType#BYTE1D_B8G8R8X8_32},{@link NyARBufferType#BYTE1D_B8G8R8_24}
 * ,{@link NyARBufferType#BYTE1D_R8G8B8_24}のものについては、他の形式よりも高速に動作します。
 * また、出力ラスタ形式が、{@link NyARBufferType#INT1D_X8R8G8B8_32}の物については、単体サンプリングモードの時のみ、さらに高速に動作します。
 * 他の形式のラスタでは、以上のものよりも低速転送で対応します。
 * @param i_in_raster_type
 * 入力ラスタの形式です。
 * @param i_out_raster_type
 * 出力ラスタの形式です。
 * @return
 */
public static INyARPerspectiveCopy createDriver(INyARRgbRaster i_raster)
{
	//新しいモードに対応したら書いてね。
	switch(i_raster.getBufferType()){
	case NyARBufferType.BYTE1D_B8G8R8X8_32:
		return new PerspectiveCopy_BYTE1D_B8G8R8X8_32(i_raster);
	case NyARBufferType.BYTE1D_B8G8R8_24:
		return new PerspectiveCopy_BYTE1D_B8G8R8_24(i_raster);
	case NyARBufferType.BYTE1D_R8G8B8_24:
		return new PerspectiveCopy_BYTE1D_R8G8B8_24(i_raster);
	default:
		return new PerspectiveCopy_ANYRgb(i_raster);
	}
}
 
开发者ID:nyatla,项目名称:NyARToolkit,代码行数:40,代码来源:NyARPerspectiveCopyFactory.java


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