b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

怎样安装和使用CLIJ2(CLIJ2.io)(组图)

电脑杂谈  发布时间:2021-05-26 21:04:05  来源:网络整理

随着成像技术的进步,我们捕获图像的数据量也在迅速增加。

面对海量图像数据,如何加快处理速度是一个重要问题。 GPU通常用于深度学习和图像处理中以加速图像处理。

CLIJ2,此插件在ImageJ和GPU之间架起了一座桥梁。 CLIJ2支持数百种图像处理操作,例如:滤波,二值化,投影,转换和图像数学运算[1]。对于这些操作,可以在ImageJ中直接实现GPU加速处理。

如图所示,即使您使用笔记本电脑随附的GPU,也可以显着提高图像处理速度:

gpu图像处理代码

gpu图像处理代码

官方网站:

CLIJ2clij.github.io

本文将介绍如何安装和使用CLIJ2。在决定使用CLIJ2之前,请确保:

1、计算机具有GPU(基本上每台计算机都具有);

2、最好具有一定的编程基础,只需了解ImageJ宏即可。

如果您不了解ImageJ宏,则可以参考开发教程:

ImageJ开发教程

图标

一、插件安装

([1)打开更新页面(Help-> Update ...)

过一会儿,将显示以下页面,单击“管理更新站点”。

gpu图像处理代码

gpu图像处理代码

([2)检查clij,clij2,clijx辅助,clijx辅助扩展

gpu图像处理代码

gpu图像处理代码

然后单击“关闭”。

中值滤波处理图像_otsu阈值处理图像_gpu图像处理代码

([3)点击“应用更改”以安装该插件

gpu图像处理代码

gpu图像处理代码

安装完成后,重新启动ImageJ,您可以在GPU(CLIJ 2)上的Plugins> ImageJ中找到该插件。

二、插件使用

首先,我们需要建立图像处理的整个过程,并了解图像处理涉及哪些步骤。

然后,检查此插件支持哪些图像操作以加快这些步骤。

插件-> GPU上的ImageJ(CLIJ 2):

gpu图像处理代码

gpu图像处理代码

或在官方网站上查看应用程序演示:

图标

clij / clij2

clij / clij2

图标

gpu图像处理代码

gpu图像处理代码

以及相应的函数库:

clij.github.io/clij2-docs/reference

有两种使用CLIJ2的方法:

1、点击直接执行

例如,在处理图像的过程中,高斯模糊3D是非常耗时的步骤:

处理->滤镜->高斯模糊3D:

gpu图像处理代码

gpu图像处理代码

您可以将此步骤放到GPU中进行处理

插件-> GPU上的ImageJ(CLIJ 2)->过滤器-> GPU上的高斯模糊3D

gpu图像处理代码

gpu图像处理代码

速度比较:

gpu图像处理代码

gpu图像处理代码

仅处理图片,再加上将数据传入和传出GPU所花费的时间,GPU仍然比CPU快3倍。

如果要处理多张图像,它将节省更多时间。

Macro Recorder可以记录这种直接点击:

// gaussian blur
image = "t1-head.tif";
Ext.CLIJ2_push(image);
blurred = "gaussian_blur-1745963302";
sigma_x = 2.0;
sigma_y = 2.0;
sigma_z = 2.0;
Ext.CLIJ2_gaussianBlur3D(image, blurred, sigma_x, sigma_y, sigma_z);
Ext.CLIJ2_pull(blurred);

Treasure Chen:ImageJ实用技巧-宏记录器(徒手操作)

图标

2、使用宏调用

官方网站提供了宏代码来测试插件安装是否成功。建议运行:

/clij/clij2-docs/blob/master/src/main/macro/benchmarking.ijm

使用宏调用GPU需要三个步骤:

([1) GPU初始化

run("CLIJ2 Macro Extensions", "cl_device=");
Ext.CLIJ2_clear();

gpu图像处理代码_otsu阈值处理图像_中值滤波处理图像

此步骤是调用GPU的必要步骤。默认情况下,将选择一个GPU,同时清除GPU中的内存。

([2)将图像导入(推送)GPU内存

input = getTitle();
Ext.CLIJ2_push(input);

([3)调用GPU处理命令

这部分编写主要的图像处理代码,这里以高斯模糊3D为例:

Ext.CLIJ2_gaussianBlur3D(input, output, 2, 2, 2);

([4)从GPU导出图像(拉动)

Ext.CLIJ2_pull(output);

只有从GPU提取处理过的图像后,才能显示该图像。

最后,提供了一个完整的演示来展示调用GPU的整个过程:

// import sample data
run("T1 Head (2.4M, 16-bits)");
input = getTitle();
//Initialization of the GPU
run("CLIJ2 Macro Extensions", "cl_device=");
Ext.CLIJ2_clear();
//Main process
time = getTime();
Ext.CLIJ2_push(input);
Ext.CLIJ2_gaussianBlur3D(input, output, 2, 2, 2);
Ext.CLIJ2_pull(output);
print("CLIJ2 GPU Gaussian blur 3D took " + (getTime() - time) + " msec");
//GPU properties
Ext.CLIJ2_getGPUProperties(gpu, memory, opencl_version);
print("GPU: " + gpu);
print("Memory in GB: " + (memory / 1024 / 1024 / 1024) );
print("OpenCL version: " + opencl_version);
// Clear in the end
Ext.CLIJ2_clear();

宏调用,强烈建议下载此备忘单,您可以清楚地了解CLIJ2支持的命令和输出:

clij.github.io/clij2-docs/CLIJ2-cheatsheet_V 3. pdf

参考文献:

[1]。 Haase,R.,Royer,L.A.,Steinbach,P.et al。 CLIJ:每个人都可以使用GPU加速图像处理。自然方法17,5–6(202 0)。

如果对ImageJ的使用有任何疑问,可以发送电子邮件以获取指导:

陈宝:ImageJ指导说明

图标

更多的教程可以关注我的专栏文章:

ImageJ实用教程

图标

ImageJ开发教程

图标

希望对大家有帮助〜


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shumachanpin/article-378320-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...