2016-12-09 18 views
0

я создал pyopencl.Image объект через:Выведите тип канала от объекта 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)? Я хочу реализовать универсальную функцию загрузки, которая возвращает массив numpy с учетом Image.

Я попробовал два подхода:

Использование Image.element_size дает мне размер в байтах одного элемента, однако я не могу сопоставить размер элемента к типу данных (float32 и int32 имеют одинаковый размер элемента, например,).

Image.format возвращает cdata 'struct _cl_image_format &'. Запрос любого из полей image_channel_data_type и image_channel_order возвращает 0.

ответ

0

Я получил answer через список рассылки PyOpenCl.

Оказалось, что функциональные возможности возврата Image.format были неверными. Это было исправлено в github repo.