背景:我有一个exe处理图像并将结果写为单个txt文件。为了处理例如500个图像,我使用Matlab编写一个循环来调用这个exe 500次然后我得到500个txt文件对应于每个图像。
动机:我觉得在一台PC上运行这样的程序来处理大量图像很慢。我正在考虑将图像放在NAS中,然后将几台PC连接在一起,并使用Matlab为每台PC分配任务以处理部分图像。最后,所有文本文件(结果)将被收集到一台PC上。
有人可以建议我需要什么样的工具箱,以及我可以遵循的任何简单教程吗?谢谢!
或者,任何解决方案都可以在没有Matlab的情况下分发任务理想情况下,我不想将图像分成不同的文件夹而不是在不同的PC中访问它们。
根据要求,运行算法的代码如下:
for imageIndex = 1: numberOfImages
% Call external exe to process a image with the index 'imageIndex'
% The exe will generate a single text file like 'imageIndex.txt'
system('myfile.exe', 'imageIndex')
end
假设我有10,000张图片,在一台计算机上运行速度非常慢(我有4个核心,并且启用了par-for)。但我有另外4台备用电脑。我在想是否可以将它们连接起来以便我可以将任务分配给它们?
答案 0 :(得分:1)
你想使用Distributed Computing工具箱来做类似的事情,尽管它可能有点过分。如果你有一台多核PC,你也可以查看Parallel Computing工具箱,因为它可以通过正确的设置提供显着的加速。