我想知道为什么在内容相同的情况下,h5文件要比普通的mat文件占用更大的硬盘空间。我一直认为h5是一种压缩型的。详细信息如下
在64位linux-ubuntu上使用Matlab 2014b
代码1:
clear,clc
h5create('myfile.h5','/DS1',[900 9000]);
mydata = rand(900,9000);
h5write('myfile.h5', '/DS1', mydata);
data = h5read('myfile.h5','/DS1');代码2
clear,clc
a=rand(900,9000);
save a a;mat文件的大小比h5文件(61MB)小2 mb,在保存h5的过程中是否有我忽略的标志?
发布于 2014-12-24 22:33:30
默认情况下,HDF5是未压缩的,但它支持不同的压缩过滤器。gzip是在matlab中实现的,您可以通过设置高于0的级别来启用它。
h5create('myfile_gzip.h5','/DS1',[900 9000],'Deflate',9,'ChunkSize',[100,100]);
h5write('myfile_gzip.h5', '/DS1', a);对于ChuckSize,我做了一个愚蠢的猜测,幸运的是得到了良好的结果,如果你遇到了糟糕的结果,也许你可以尝试其他值。
https://stackoverflow.com/questions/27637833
复制相似问题