我有一段代码,可以在一系列图像中找到哈里斯角。 我需要对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通过将循环迭代分组并将其发送到MATLAB工作器中以并行运行来运行parfor函数中的循环。为了使MATLAB能够以可重复、可靠的方式执行此操作,它必须能够对循环中使用的所有变量进行分类。代码使用指定的变量的方式与分类不兼容。
建议操作 修复所指示的变量的用法。 有关变量分类和对parfor循环迭代的其他限制的更多信息,请参阅“Parallel Computing Toolbox文档中的“变量分类”。有什么想法如何解决这个问题吗?
谢谢!