opencl----图像对象

Posted feihu-h

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了opencl----图像对象相关的知识,希望对你有一定的参考价值。

图像对象同样使用cl_mem数据结构

创建图像对象

// 创建2D的图像对象
cl_mem clCreateImage2D ( cl_context context,
//上下文 cl_mem_flags flags, // 对象性质标签 const cl_image_format *image_format, //输入图像数据格式 size_t image_width, // size_t image_height, // size_t image_row_pitch, //每一行中的字节数 void *host_ptr, // 主机地址 cl_int *errcode_ret //错误代码 )
//创建3D的图像对象

cl_mem clCreateImage3D (
        cl_context context,
     cl_mem_flags flags,
     const cl_image_format *image_format,
     size_t image_width,           //
     size_t image_height,          //
     size_t image_depth,          //
     size_t image_row_pitch,    //每一行字节数
     size_t image_slice_pitch,    //每一层字节数
     void *host_ptr,
     cl_int *errcode_ret        //错误代码
)

// 当image_row_pitch设置为0:  默认image_width*像素点大小
// 当image_slice_pitch设置为0:  默认image_row_pitch*image_height
cl_image_format 图像格式
参考:https://www.khronos.org/registry/OpenCL/sdk/1.0/docs/man/xhtml/cl_image_format.html

typedef struct _cl_image_format {

cl_channel_order image_channel_order; //色彩通道,以及各通道顺序

cl_channel_type image_channel_data_type; // 数据类型

} cl_image_format;

获取图像对象相关信息

以上是关于opencl----图像对象的主要内容,如果未能解决你的问题,请参考以下文章

使用 OpenCL 内核的最近邻插值代码

openCL clEnqueueNDRangeKernel 失败;不返回列出的错误类型

使用OpenCL+OpenCV实现图像旋转

在 OpenCL 上通过凹多边形进行图像裁剪

在 opencl 中更改 Directx 获取表面的图像格式

Opencv学习笔记 - 关于OpenCV的UMat 类