OpenCL - C - 矩阵的镜像

时间:2016-11-04 19:46:30

标签: c arrays matrix opencl

我正在制作一个需要垂直镜像的项目。图像由函数读取,然后逐个像素地设置为一个数组,以便在我使用array[idy*w + idx](在我的情况下是矩阵或图像的宽度)的数组中移动,因为这将运行同时我只需要找到相反的像素,以便我可以分配它。

我的意思是这样的:

array[idy*w + idx] = array[opposite pixel];
array[opposite pixel] = array[idy*w + idx]; 

问题是我无法找到合适的方法。

任何答案都将受到高度赞赏。

我尝试过以下操作,但它不起作用array[idy*w + (w - (idx + 1))]

2 个答案:

答案 0 :(得分:0)

这应该有效

pixel        = array[idy*w + idx];
pixel_mirror = array[idy * (w + 1) - idx - 1];
array[idy*w + idx] = pixel_mirror;
array[idy * (w + 1) - idx - 1] = pixel

答案 1 :(得分:0)

这最终对我有用:

outputImage[idy*w + idx] = inputImage[idy*w + (w - idx - 1)];