问题描述
在用matlab做分割大图的预处理时,持续分割大图,并保存png小图。在程序进行时,会随机终止程序并报错,报错显示为:
Error using pngwritec
PNG library failed: Could not open file…
Error in writepng (-)
pngwritec(data, map, filename, colortype, bitdepth, …
Error in imwrite (-
feval(fmt_s.write, data, map, filename, paramPairs{:});
Error in export_fig (-)
imwrite(-);
但网上比较少找到相关信息,程序终止时间比较随机,有时终止在操作一半的时候,有时是三分之一的时候。
解决方法
参照了github上一个问题的回答,原链接如下:
https://github.com/altmany/export_fig/issues/305
该问题出现在用于编写PNG文件的matlab内置函数pngwritec发生了错误,因为是随机发生的,所以有可能是因为在重复调用matlab内置函数时发生了冲突,也就是说再次调用时,上一个调用还没结束。
所以解决方法也比较简单,就是在重复调用之间手动添加等待时间。具体解决就是在重复(通常是在循环内)的imwrite()前添加个pause(0.1)即可,时间可自己调整。