需要镜像边界外的图像坐标的功能

时间:2014-10-30 02:19:56

标签: image-processing opencl

我正在维度图像上执行NxN图像卷积 w和h,其中N远小于w或h。给定一个坐标alpha,我想计算一个保证位于边界内的新坐标safe_alpha。应该对边界外的坐标进行镜像。

即,如果

 alpha = (w-1) +2;

然后

safe_alpha = (w-1) -2;

这将在GPU上运行,所以我宁愿避免计算中的条件。

仅镜像外边界很简单:

safe_alpha = -| (w-1) - alpha| + alpha;

但我需要反映两者。

编辑:

这似乎有用,但我不确定它是否是最快的:

 safe_alpha = |alpha| + (alpha/(w-1)) * (alpha - (w-1)); 

1 个答案:

答案 0 :(得分:0)

我不知道openCL细节,但您可以使用边缘处的适当卷积窗口来避免边缘数据镜像:卷积窗口值将使图像边缘值加倍。对于每4个边缘,您将需要N / 2个卷积窗口阵列(一次只是从原始N * N窗口导出),而角落则需要更多,但是没有条件,也没有任何设计。