本文整理汇总了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;
}
示例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);
}
});
//ペイント
}
示例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);
}
示例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);
}
}
示例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);
}
}
示例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;
}
示例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;
}
示例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);
}
示例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);
}
}
示例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);
}
}
示例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);//カラーの復帰
}
示例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);//カラーの復帰
}
示例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);
}
}