主要内容

对GPU进行基于像素的操作

这个例子展示了如何在GPU上执行基于像素的操作,通过使用函数将数据和操作发送给GPU进行处理。这种方法对于需要两个或多个数据集的元素操作最为有效。

读取并显示图像。

我= imread (“concordaerial.png”);imshow(我)

通过创建图形处理器,将数据从CPU转移到GPUgpuArray(并行计算工具箱)对象。

Igpu = gpuArray(我);

对GPU进行操作。这个例子定义了一个被调用的自定义函数rgb2gray_custom它通过使用红色、绿色和蓝色通道的自定义权重将RGB图像转换为灰度。这个函数在示例的最后定义。将句柄传递给自定义函数,并将数据传递给GPU进行评估arrayfun(并行计算工具箱)函数。

Igray_gpu = arrayfun (@rgb2gray_custom,...Igpu (:,: 1), Igpu (:,: 2), Igpu (:,:, 3));
捕获前端用户异常:MATLAB:m_illegal_character

将数据从GPU移回CPU收集(并行计算工具箱)函数。

I_gpuresult =收集(Igray_gpu);

显示结果。

imshow (I_gpuresult)

金宝app支持函数

rgb2gray_custom辅助函数采用三个通道的线性组合,并返回单个通道输出图像。

函数rgb2gray_custom(r,g,b) = 0.5*r + 0.25*g + 0.25*b结束

另请参阅

(并行计算工具箱)|(并行计算工具箱)|(并行计算工具箱)

相关的例子

更多关于