TIFF图生成和压缩:R与Gimp vs. Irfanview vs. Photoshop文件大小

问题描述 投票:0回答:0
i产生了一些高分辨率出版质量图,例如

library(plot3D) Volcano<-volcano zf=10 #zoom factor tiff("Volcano.tif", width=1800*zf, height=900*zf, res=175*zf, compression="lzw") image2D(z = Volcano, clab = "height, m",colkey = list(dist = -0.20, shift = 0.15,side = 3, length = 0.5, width = 0.5,cex.clab = 1.2, col.clab = "white", line.clab = 2,col.axis = "white", col.ticks = "white", cex.axis = 0.8)) dev.off()
文件为22 MB。 

现在,我用gimp打开文件,并且没有做任何其他操作

我将其导出为“火山gimp.tif”(不要更改分辨率,或者做其他任何事情)。 GIMP生成一个文件(“火山gimp.tif”),即1.9mb.

imagemagick

报告类似的图像统计:

$ identify Volcano.tif
Volcano.tif TIFF 18000x9000 18000x9000+0+0 8-bit DirectClass 22.37MB 0.000u 0:00.000
$ identify "Volcano gimp.tif"
Volcano gimp.tif TIFF 18000x9000 18000x9000+0+0 8-bit DirectClass 1.89MB 0.000u 0:00.000

使用两个文件似乎相似。

这些文件之间有什么区别?他们为什么有如此不同的文件尺寸?

update

:好的,事情变得越来越疯狂。我对Irfanview做了同样的事情,并且得到了不同的文件大小。初始文件是由

identify -verbose

生成

Volcano.tifR

。检查大小和所有其他统计数据均相同的大小差异。内存足迹,DPI,颜色,分辨率相同。磁盘尺寸不同。 
update2:
adobe photoshop将文件降低到2.6Mb

Winrar报告说,原始R生成的TIFF高度可压缩(来自22MB-> 3.6MB)enter image description here

upddate3:此问题可能类似于2 col x 1行瓷砖中的2个TIFF图像,而不会丢失质量

update4:

可以在此处找到r生成的tiff文件。 enter image description here

parky以R使用的TIFF LZW压缩机不使用重要的选项(TIFF预测器),这导致了一个非常大的文件。当数据压缩能够识别数据中的对称性/冗余时,数据压缩效果最好。在这种情况下,图像数据由包含红色,绿色和蓝色8位值的24位(3字节)像素组成。标准LZW压缩着眼于重复模式的字节流。如果将颜色图像仅作为字节流,它将看到3个bytes的重复模式,而不是重复恒定颜色的模式。在数据上启用TIFF预测器会导致差异过滤器将每个像素的三角洲与邻居一起存储。如果相邻的像素是相同的颜色,则将存储0。长长的0弦压缩比至少长3个字节长的非二方的重复模式要好得多。

here是它如何在6像素线上工作的示例。编码时,预测变量从右边缘开始,并为每个扫描线左起工作:

compression="lzw" 判断:这应该作为对R压缩代码所有者的错误提交,因为在没有预测器的情况下使用LZW会产生差的结果。同时,需要进行解决方法以更有效地压缩它。

r tiff image-compression
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.