2016-11-04 9 views
1

私は、画像を垂直にミラーリングする必要があるプロジェクトを作っています。イメージは関数によって読み込まれ、ピクセル単位で配列に設定されます。これは並行して実行されるため、array[idy*w + idx]を使用しています(私の場合は行列の幅またはイメージの幅です)。私はそれを割り当てることができるように反対側のピクセルを見つけるために。OpenCL - C - 行列のミラー

は、私はこのような何かを意味:

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

問題は、私はそれを行うための適切な方法を見つけることができないです。

いずれの回答も高く評価されます。

私は、次の操作を実行しようとしたが、それはこれはこれで終わりに私のために働いていたものです

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 

答えて

0

を動作するはずarray[idy*w + (w - (idx + 1))]

0

を動作しません:

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