这节我们来说一下,如何用OpenCL来对图片进行灰度处理。灰度处理公式很简单,如下:
Gray = R*0.299 + G*0.587 + B*0.114
我们只要把图片数据读取出来,让每个工作组包含四个数据(RGBA)。当然你也可以用RGB,只读三个数据。交OPENCL处理就可以了。由于每个像素值的处理方式相同,所以我们只有一维数组就可以了。
下面我们看代码。
gray.cl代码: 主程序代码:这节我们来说一下,如何用OpenCL来对图片进行灰度处理。灰度处理公式很简单,如下:
Gray = R*0.299 + G*0.587 + B*0.114
我们只要把图片数据读取出来,让每个工作组包含四个数据(RGBA)。当然你也可以用RGB,只读三个数据。交OPENCL处理就可以了。由于每个像素值的处理方式相同,所以我们只有一维数组就可以了。
下面我们看代码。
gray.cl代码: 主程序代码: