OpenCL 内建图像写函数

OpenCL也内建了一些图像写函数,通过这些函数,我们可以直接把像素值写入到图像对象中。在下表中列出了这些内建图像写函数。

内建图像写函数

内建图像写函数

上表中的函数,参数color都是有符号的整数类型。参数color为f loat4、in4或uint4的矢量数据。

写入3D图像对象是可选特性。这个特性是通过cl_khr_3d_image_writes扩展的。因此如果内核中需要修改image3d_t数据类型,需要查询设备是否支持这个特性。同时在内核代码中添加如下语句:

#pragma OPENCL EXTENSION cl_khr_3d_image_write:enable

OpenCL 内建无采样器图像读函数中的例子,对于内核代码,我们添加写入图像操作:

kernel void ImageTest(read_only image2d_t Src,
write_only image2d_t Dst)
{
    int2 coord = (int2)(get_global_id(0), get_global_id(1));
    float4 p00 = read_imagef(Src , coord);
    ……
    write_imagef(Src, coord, (float4)( p00.x, p00.y, p00.z, 1.0f ));
}

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程