为啥再次JPG压缩反而比原图大了
为什么再次JPG压缩反而比原图大了
有一个需求就是jpg文件上限为300k。
拿到一个400k的jpg原图2448*2048,晚上的背景较黑的图片。
1、用cximage来压缩,不改变分辨率情况下,设置质量到75,保存结果别原图大很多,有559k。采用的4:1:1.
2、使用acdsee,来压缩,采用优化霍夫曼编码,水平2:1颜色采样,质量75,保存后389k,缩小了一点。
问题
1、为什么用cximage,质量是75不高,反而压缩后体积增大,那么如何设置压缩参数,不调整分辨率的情况下,能获取较小的体积。
减小分辨率,确实能使体积减少不小。不改变分辨率是想看看cximage还有什么参数或者什么函数能获得较小体积。
2、是否有更好的压缩库,能获得较好的压缩率,能替代cximage。
------解决方案--------------------
库与库之间都差不多,只能降低图片质量,不过jpg转bmp再jpg对图片伤害有点大
遇过类似问题,不过那个原来的jpg也是我自己产生的,后来解决的办法是第一次保存jpg后不释放原始的bmp,第二次保存jpg的时候还是用的原始的bmp,质量降低一点图片就小了,这样图片看上去质量也不影响很多
------解决方案--------------------
用CImage吧。
------解决方案--------------------
算法不同,压缩后的图像的确有可能比原图大,这是正常情况。
但是,在压缩前,你所使用的压缩库应该会告诉你“应创建多大的缓冲来装结果文件”。
这里我给你推荐一个库(IJL)。方面、小巧、强大,最让我喜欢的是效率高。
Intel(R) JPEG Library (IJL).
有一个需求就是jpg文件上限为300k。
拿到一个400k的jpg原图2448*2048,晚上的背景较黑的图片。
1、用cximage来压缩,不改变分辨率情况下,设置质量到75,保存结果别原图大很多,有559k。采用的4:1:1.
2、使用acdsee,来压缩,采用优化霍夫曼编码,水平2:1颜色采样,质量75,保存后389k,缩小了一点。
问题
1、为什么用cximage,质量是75不高,反而压缩后体积增大,那么如何设置压缩参数,不调整分辨率的情况下,能获取较小的体积。
减小分辨率,确实能使体积减少不小。不改变分辨率是想看看cximage还有什么参数或者什么函数能获得较小体积。
2、是否有更好的压缩库,能获得较好的压缩率,能替代cximage。
------解决方案--------------------
库与库之间都差不多,只能降低图片质量,不过jpg转bmp再jpg对图片伤害有点大
遇过类似问题,不过那个原来的jpg也是我自己产生的,后来解决的办法是第一次保存jpg后不释放原始的bmp,第二次保存jpg的时候还是用的原始的bmp,质量降低一点图片就小了,这样图片看上去质量也不影响很多
------解决方案--------------------
用CImage吧。
------解决方案--------------------
算法不同,压缩后的图像的确有可能比原图大,这是正常情况。
但是,在压缩前,你所使用的压缩库应该会告诉你“应创建多大的缓冲来装结果文件”。
这里我给你推荐一个库(IJL)。方面、小巧、强大,最让我喜欢的是效率高。
Intel(R) JPEG Library (IJL).