我需要为图像中的每个像素执行计算。我目前的代码有双for循环,需要很长时间。将此转换为“blockproc(I,[1 1],fun)”可以加快速度吗?
谢谢!
答案 0 :(得分:3)
如果您可以访问Parallel Computing Toolbox和R2012a或更高版本,则可以use blockproc
with the 'parallel'-option。或者,您可以parfor
外部循环。虽然blockproc
可能仍然更快,但您肯定应该并排分析这两个选项。
或者,您可以通过更改算法来实现重要的速度增益 - 例如,将2D滤波器分解为2个1D滤波器等。
/ aside:blockproc
对嵌套循环解决方案的巨大优势在于它可以处理太大而无法容纳在RAM中的图像,即它负责为您加载子图像。< / p>