我有一个用Matlab编写的脚本,它读取csv文件中的一组图像并对它们进行一系列计算。这个csv文件有10行和58列,给定行中的每一列都有matlab将读取的图像的标识符,并且存在于已知目录中。
代码在部分运行正常,但在第四行和第二十二列matlab无法读取标识符在单元格中的图像,返回以下错误:
Error in imread (line 369): File
"/datasets/output_cph_database/copiacolagem/CPHPALL/62/62_post.png" does not exist.
此图像标识符(62)也出现在我的csv文件的第一行和第六列中。代码读取标识符在此单元格中的图像没有问题。但是当代码读取csv文件的第四行和第二十二列中的文件标识符时,它无法读取同一文件。
当我在错误出现后在命令行中执行以下命令时,它运行正常。
a=imread('/datasets/output_cph_database/copiacolagem/CPHPALL/62/62_post.png');
我的问题是:为什么会出现这种错误?我的意思是,当我第一次阅读图像时它没问题,但是第二次matlab无法找到它。对于每个图像标识符,我读了8个具有相同标识符的图像(copiacolagem文件夹中的那个是我读过的第一个),这些图像非常大,在这个源代码中使用了很多变量。这个问题是否与缺乏记忆有关?我的意思是,在我读完给定行中的所有图像后,我应该在转到下一行之前清理所有变量(或大部分变量)吗?
当matlab使用的内存已满时,Matlab是否有可能无法读取现有图像?