Image的像素强度值与OpenCL中read_imagef返回的值之间的关系

时间:2013-03-27 06:49:36

标签: opencl

OpenCL中read_imagef返回的值在0到1的范围内,而像素强度范围是从0到255 ... 我想对强度值做进一步处理来做Image仅基于强度值的分割(执行的操作将类似于找到两个强度值之间的差异,排序,找到最小值,改组等)。如何以整数形式获取0到255范围内的这些值(为方便起见)......? 我可以将每个值乘以255或者还有其他我需要做的事情吗?

1 个答案:

答案 0 :(得分:2)

read_imagef 返回 float4 ,可用于使用通道数据类型UNORM_INT8,UNORM_INT16,SNORM_INT8,SNORM_INT16,HALF_FLOAT和FLOAT创建的图像。转换规则是OpenCL specification的一部分,在第8.3.1节中给出。

要回答您的问题,是的,如果您的图像数据类型是UNORM_INT8,则可以简单地乘以255.

使用UNORM_INT8时,GPU通常比使用UNSIGNED_INT8图像更快。

相关问题