从 pyopencl.Image 对象导出通道类型
Derive channel type from pyopencl.Image object
我通过以下方式创建了一个 pyopencl.Image
对象:
import pyopencl as cl
import numpy as np
ctx = cl.create_some_context()
image = cl.image_from_array(ctx, np.ones((16, 16), dtype=np.uint8))
如何获取图像通道类型信息(此处为cl.channel_type.UNSIGNED_INT8
)?我想实现一个通用的下载功能,returns 一个给定 Image
.
的 numpy 数组
我尝试了两种方法:
使用 Image.element_size
给出单个元素的字节大小,但是我无法将元素大小映射到数据类型(例如,float32 和 int32 具有相同的元素大小)。
Image.format
returns一个cdata 'struct _cl_image_format &'
。查询字段 image_channel_data_type
和 image_channel_order
returns 0.
我通过 PyOpenCl 邮件列表收到了 answer。
原来返回Image.format
的功能不正确。这已在 github repo.
中修复
我通过以下方式创建了一个 pyopencl.Image
对象:
import pyopencl as cl
import numpy as np
ctx = cl.create_some_context()
image = cl.image_from_array(ctx, np.ones((16, 16), dtype=np.uint8))
如何获取图像通道类型信息(此处为cl.channel_type.UNSIGNED_INT8
)?我想实现一个通用的下载功能,returns 一个给定 Image
.
我尝试了两种方法:
使用 Image.element_size
给出单个元素的字节大小,但是我无法将元素大小映射到数据类型(例如,float32 和 int32 具有相同的元素大小)。
Image.format
returns一个cdata 'struct _cl_image_format &'
。查询字段 image_channel_data_type
和 image_channel_order
returns 0.
我通过 PyOpenCl 邮件列表收到了 answer。
原来返回Image.format
的功能不正确。这已在 github repo.