我尝试用Java获取JPEG和GIF图像的压缩率。 到处搜索但无法找到任何东西。是否可以读取文件的压缩率? 什么时候不能如何计算这个比率?
答案 0 :(得分:1)
要计算图像的压缩率,请将实际文件大小与存储图像“raw”时获得的大小进行比较。
例如,一个1024x1024的jpeg文件,真正的颜色(24bpp),即384Kb,你得到的比率是(384x1024)/(1024x1024x3)= 0.125,这意味着jpeg生成的文件占原始图像的12%。如果您反转分割,则可以说图像压缩为8x或1:8。
从标题或使用Image API获取图像的大小和颜色信息,无需解压缩文件即可进行此计算
答案 1 :(得分:0)
您可以从Java Image-IO开始,阅读图片并使用ImageReader类的相应方法。
您可以下载JAI here。
答案 2 :(得分:0)
您可以尝试将文件大小与像素数量进行比较 - 它会为您提供一种比率。例如:
//Image 1
Image Dimensions = 607x800px
Number of pixels = 486K
File size = 143KB
//Good quality
//Image 2
Image Dimension s= 1719x2377px
Number pixels= 4.086M
File size = 408KB
//Bad quality