我是Matlab R2012b中Parallel toolbox的新手,想知道克服以下问题的最佳方法。
我正在分析图像中每个像素的邻域。这是极好的并行化案例。但是,我似乎无法使其工作。
问题的主要难点在于某些“常量”参数应传递给函数。因此,应为每个像素调用该函数,但它还需要访问周围的像素(最好通过将图像作为某种常量参数和要分析的像素的坐标来实现)。
输出是每个像素的一个值。
目前我有这个:
我正在分析图像中每个像素的邻域。这是极好的并行化案例。但是,我似乎无法使其工作。
问题的主要难点在于某些“常量”参数应传递给函数。因此,应为每个像素调用该函数,但它还需要访问周围的像素(最好通过将图像作为某种常量参数和要分析的像素的坐标来实现)。
输出是每个像素的一个值。
目前我有这个:
z2 = arrayfun(@(x) analyze(x, image, const1, ...), gpuArray(1:m*n));
其中x是dummy-var,image是包含图像亮度值的2D矩阵,const1(和其他常量)是函数常量(例如分析窗口的大小)。m和n是图像维度的大小。
然而,我遇到了这个错误
Error using gpuArray/arrayfun Use of functional workspace is not supported.
有任何想法吗?
谢谢, Ruben
gpuArray
的调用。 - slayton