图像任意旋转的核函数
__kernel void image_rotate(
__global uchar * src_data,
__global uchar * dest_data, //Data in global memory
int W, int H, //Image Dimensions
float sinTheta, float cosTheta ) //Rotation Parameters
{
int ix = get_global_id(0);
int iy = get_global_id(1);
int xc = W/2;
int yc = H/2;
int xpos = (ix-xc)*(double)round(cos(3.1415926/180*60)) - (iy-yc)*(double)round(sin(3.1415926/180*60))+xc;
int ypos = (ix-xc)*(double)round(sin(3.1415926/180*60)) + ( iy-yc)*(double)round(cos(3.1415926/180*60))+yc;
if ((xpos>=0) && (xpos< W) && (ypos>=0) && (ypos< H)){
/* dest_data[(ypos*W+xpos)*3 + 0] = src_data[(iy*W+ix)*3 + 0];
dest_data[(ypos*W+xpos)*3 + 1] = src_data[(iy*W+ix)*3 + 1];
dest_data[(ypos*W+xpos)*3 + 2] = src_data[(iy*W+ix)*3+ 2];*/
dest_data[(ypos*W+xpos)*3]= src_data[(iy*W+ix)*3];
}
}