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


Java CLQueue.release方法代码示例

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


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

示例1: add

import com.nativelibs4java.opencl.CLQueue; //导入方法依赖的package包/类
/**
 * Add two images, returning a new image with the result
 * 
 * @param <I> The type of image
 * 
 * @param in1 the first image to add
 * @param in2 the second image to add
 * @return the event
 */
public <I extends Image<?, I>> I add(I in1, I in2) {
	CLQueue queue = context.createDefaultQueue();
	
	CLImage2D clin1 = CLImageConversion.convert(context, in1);
	CLImage2D clin2 = CLImageConversion.convert(context, in2);
	CLImage2D clout = context.createImage2D(CLMem.Usage.Output, clin1.getFormat(), clin1.getWidth(), clin1.getHeight());
	
	CLEvent evt = process(addImage, queue, clin1, clin2, clout);
	
	I out = CLImageConversion.convert(queue, evt, clout, in1.newInstance(in1.getWidth(), in1.getHeight()));
	
	clin1.release();
	clin2.release();
	clout.release();
	queue.release();
	
	return out;
}
 
开发者ID:openimaj,项目名称:openimaj,代码行数:28,代码来源:CLImageArithmetic.java

示例2: subtract

import com.nativelibs4java.opencl.CLQueue; //导入方法依赖的package包/类
/**
 * Subtract two images, returning a new image with the result
 * 
 * @param <I> The type of image
 * 
 * @param in1 the first image to subtract
 * @param in2 the second image to subtract
 * @return the event
 */
public <I extends Image<?, I>> I subtract(I in1, I in2) {
	CLQueue queue = context.createDefaultQueue();
	
	CLImage2D clin1 = CLImageConversion.convert(context, in1);
	CLImage2D clin2 = CLImageConversion.convert(context, in2);
	CLImage2D clout = context.createImage2D(CLMem.Usage.Output, clin1.getFormat(), clin1.getWidth(), clin1.getHeight());
	
	CLEvent evt = process(subtractImage, queue, clin1, clin2, clout);
	
	I out = CLImageConversion.convert(queue, evt, clout, in1.newInstance(in1.getWidth(), in1.getHeight()));
	
	clin1.release();
	clin2.release();
	clout.release();
	queue.release();
	
	return out;
}
 
开发者ID:openimaj,项目名称:openimaj,代码行数:28,代码来源:CLImageArithmetic.java

示例3: multiply

import com.nativelibs4java.opencl.CLQueue; //导入方法依赖的package包/类
/**
 * Multiply two images, returning a new image with the result
 * 
 * @param <I> The type of image
 * 
 * @param in1 the first image to multiply
 * @param in2 the second image to multiply
 * @return the event
 */
public <I extends Image<?, I>> I multiply(I in1, I in2) {
	CLQueue queue = context.createDefaultQueue();
	
	CLImage2D clin1 = CLImageConversion.convert(context, in1);
	CLImage2D clin2 = CLImageConversion.convert(context, in2);
	CLImage2D clout = context.createImage2D(CLMem.Usage.Output, clin1.getFormat(), clin1.getWidth(), clin1.getHeight());
	
	CLEvent evt = process(multiplyImage, queue, clin1, clin2, clout);
	
	I out = CLImageConversion.convert(queue, evt, clout, in1.newInstance(in1.getWidth(), in1.getHeight()));
	
	clin1.release();
	clin2.release();
	clout.release();
	queue.release();
	
	return out;
}
 
开发者ID:openimaj,项目名称:openimaj,代码行数:28,代码来源:CLImageArithmetic.java

示例4: divide

import com.nativelibs4java.opencl.CLQueue; //导入方法依赖的package包/类
/**
 * Divide two images, returning a new image with the result
 * 
 * @param <I> The type of image
 * 
 * @param in1 the first image to divide
 * @param in2 the second image to divide
 * @return the event
 */
public <I extends Image<?, I>> I divide(I in1, I in2) {
	CLQueue queue = context.createDefaultQueue();
	
	CLImage2D clin1 = CLImageConversion.convert(context, in1);
	CLImage2D clin2 = CLImageConversion.convert(context, in2);
	CLImage2D clout = context.createImage2D(CLMem.Usage.Output, clin1.getFormat(), clin1.getWidth(), clin1.getHeight());
	
	CLEvent evt = process(divideImage, queue, clin1, clin2, clout);
	
	I out = CLImageConversion.convert(queue, evt, clout, in1.newInstance(in1.getWidth(), in1.getHeight()));
	
	clin1.release();
	clin2.release();
	clout.release();
	queue.release();
	
	return out;
}
 
开发者ID:openimaj,项目名称:openimaj,代码行数:28,代码来源:CLImageArithmetic.java

示例5: processImage

import com.nativelibs4java.opencl.CLQueue; //导入方法依赖的package包/类
@Override
public void processImage(I image) {
	CLQueue queue = context.createDefaultQueue();

	CLImage2D in = CLImageConversion.convert(context, image);
	CLImage2D out = context.createImage2D(CLMem.Usage.Output, in.getFormat(), in.getWidth(), in.getHeight());
	
	kernel.setArgs(in, out);
	CLEvent evt = kernel.enqueueNDRange(queue, new int[] {(int) in.getWidth(), (int) in.getHeight()});

	CLImageConversion.convert(queue, evt, out, image);
	
	in.release();
	out.release();
	queue.release();
}
 
开发者ID:openimaj,项目名称:openimaj,代码行数:17,代码来源:CLImageProcessor.java

示例6: analyseImage

import com.nativelibs4java.opencl.CLQueue; //导入方法依赖的package包/类
@Override
public void analyseImage(FImage image) {
	CLQueue queue = context.createDefaultQueue();

	CLImage2D in = CLImageConversion.convert(context, image);
	
	CLImageFormat outFmt = new CLImageFormat(ChannelOrder.RGBA, ChannelDataType.Float);
	CLImage2D out = context.createImage2D(CLMem.Usage.Output, outFmt, in.getWidth(), in.getHeight());
	
	kernel.setArgs(in, out);
	CLEvent evt = kernel.enqueueNDRange(queue, new int[] {(int) in.getWidth(), (int) in.getHeight()});

	MBFImage res = CLImageConversion.convert(queue, evt, out, new MBFImage(image.width, image.height, 4));
	
	this.magnitude = res.bands.get(0);
	this.orientation = res.bands.get(1);
	this.gradientX = res.bands.get(2);
	this.gradientY = res.bands.get(3);
	
	in.release();
	out.release();
	queue.release();
}
 
开发者ID:openimaj,项目名称:openimaj,代码行数:24,代码来源:CLSobel.java

示例7: process

import com.nativelibs4java.opencl.CLQueue; //导入方法依赖的package包/类
private synchronized CLImage2D process(CLKernel kernel, CLImage2D in1, CLImage2D in2) {
	CLQueue queue = context.createDefaultQueue();
	CLImage2D out = context.createImage2D(CLMem.Usage.Output, in1.getFormat(), in1.getWidth(), in1.getHeight());

	process(kernel, queue, in1, in2, out).waitFor();
	queue.release();
	
	return out;
}
 
开发者ID:openimaj,项目名称:openimaj,代码行数:10,代码来源:CLImageArithmetic.java


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