我惊讶地看到,在matlab中使用lzw压缩(62.5 Mo)编写的tiff比在gimp中打开的相同文件大1.7倍,并导出到一个新文件,使用lzw压缩(36.6 Mo)。两者似乎都使用libTiff 4.0进行图像书写
我验证过,在matlab中打开时,这两个文件包含完全相同的像素值,因此不会发生任何错误的压缩。
我能找到的两个文件之间的唯一区别,
使用
identify -verbose
命令,唯一的区别是:
Gimp:
Compression: LZW
Properties:
tiff:document: /.../gimp.tiff
tiff:rows-per-strip: 128
tiff:software: GIMP 2.10.5
Artifacts:
filename: gimp.tiff
Filesize: 36.55MB
Number pixels: 24.23M
matlab:
Compression: LZW
Properties:
...
tiff:rows-per-strip: 62
Artifacts:
filename: matlab.tiff
Filesize: 62.83MB
Number pixels: 24.23M
所以唯一的区别似乎是
tiff:rows-per-strip
(128对62),以及
tiff:document
gimp文件中的标记。
我使用
Tiff()
在matlab中。
我真的不明白这些怎么会在文件大小上造成如此大的差异。。。
但我真正的问题是如何在matlab中编写如此小的文件大小?
谢谢你的帮助!