我有一段代码可以在一系列图像中找到哈里斯角。我需要为 92 张图像执行此操作,但速度相当慢。因此,我想并行运行代码。我下面的代码有一个与变量“corners”相关的错误
%% Harris corners
max_pts = 900;
corners = zeros(max_pts,2,size(images,3));
parfor i = 1:size(images,3)
I = images(:,:,i);
[y x] = get_corners(I,max_pts);
corners(1:length(y),:,i) = [y x];
end
其中说:
MATLAB 在 parfor 函数中运行循环,方法是将循环迭代分成组,然后将它们发送给并行运行的 MATLAB 工作程序。为了使 MATLAB 以可重复、可靠的方式执行此操作,它必须能够对循环中使用的所有变量进行分类。该代码以与分类不兼容的方式使用指示的变量。建议的操作 修复指示变量的使用。有关变量分类和 parfor 循环迭代的其他限制的更多信息,请参阅 Parallel Computing Toolbox 文档中的“变量分类”。
任何想法如何解决这一问题?
谢谢!