首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mathematica 9如何有效地导入图像进行批处理

Mathematica 9如何有效地导入图像进行批处理
EN

Stack Overflow用户
提问于 2014-05-30 15:23:01
回答 1查看 354关注 0票数 0

对于一大批bmp图像的后期处理,我目前正在使用mathematica 9中的这个脚本来导入批处理:

代码语言:javascript
复制
Dir = "C:\\...";
SetDirectory[Dir];
Impimg = Import[#] & /@ FileNames["*.bmp"];

它确实可以工作,但我可以看到两个问题:

1)首先,它非常慢!

2)其次,所有图像都存储在一个列表中。这消耗了大量的内存,实际上我使用的进程并不需要它,因为这个进程只需要图像本身。

有没有办法克服这两个问题?

丹尼尔

EN

回答 1

Stack Overflow用户

发布于 2014-06-22 11:33:27

要将内存使用量减半,在这种情况下,您可以将$HistoryLength设置为0,这将强制Mathematica不保留Out列表中的数据副本。

为了提高导入速度,您可以将所有图像保存在多页tiff文件中,然后一次导入它们,这要快得多。

$HistoryLength = 0

您也可以使用ParallelMap[]函数,该函数使用多个内核(取决于您的许可证),并且通常更快:

Impimg = ParallelMap[Import[#] &, FileNames["*.bmp"]];

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23949179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档