为什么再次JPG压缩反而比原图大了

2025-07-08 01:59:34 今晚世界杯

社区

图形处理/算法 帖子详情 为什么再次JPG压缩反而比原图大了 MeXP 2012-11-29 10:44:11 有一个需求就是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。

...全文

1357 6 打赏 收藏 为什么再次JPG压缩反而比原图大了 有一个需求就是jpg文件上限为300k。 拿到一个400k的jpg原图2448*2048,晚上的背景较黑的图片。 1、用cximage来压缩,不改变分辨率情况下,设置质量到75,保存结果别原图大很多,有559k。采用的4:1:1. 2、使用acdsee,来压缩,采用优化霍夫曼编码,水平2:1颜色采样,质量75,保存后389k,缩小了一点。 问题 1、为什么用cximage,质量是75不高,反而压缩后体积增大,那么如何设置压缩参数,不调整分辨率的情况下,能获取较小的体积。 减小分辨率,确实能使体积 复制链接

扫一扫 分享 转发到动态 举报 AI 作业

写回复 配置赞助广告取 消

确 定

用AI写文章 6 条回复 切换为时间正序 请发表友善的回复… 发表回复 打赏红包 需支付: 0.00 元 取 消 确 定 MeXP 2012-12-24 打赏举报 回复 JPG图读取后,还是内存展开,用其他库重新压缩,未必能得到原来的大小。就得视为重新压缩。

结贴吧。 Squall_zy 2012-12-17 打赏举报 回复 算法不同,压缩后的图像的确有可能比原图大,这是正常情况。

但是,在压缩前,你所使用的压缩库应该会告诉你“应创建多大的缓冲来装结果文件”。

这里我给你推荐一个库(IJL)。方面、小巧、强大,最让我喜欢的是效率高。

Intel(R) JPEG Library (IJL). e_feeling 2012-12-16 打赏举报 回复 质量参数再小一点或者图像平滑处理一下 MoreWindows 2012-12-02 打赏举报 回复 用CImage吧。 百事烟 2012-11-30 打赏举报 回复 库与库之间都差不多,只能降低图片质量,不过jpg转bmp再jpg对图片伤害有点大

遇过类似问题,不过那个原来的jpg也是我自己产生的,后来解决的办法是第一次保存jpg后不释放原始的bmp,第二次保存jpg的时候还是用的原始的bmp,质量降低一点图片就小了,这样图片看上去质量也不影响很多 fengbingchun 2012-11-30 打赏举报 回复 不应该呀,我以前也用CxImage的函数来对jpg进行简单压缩 Unity中打包Texture到AssetBundle反而比原资源jpg格式还要大,该怎么减小空间? Unity中打包Texture到AssetBundle反而比原资源jpg格式还要大,该怎么减小空间?

https://www.zhihu.com/question/40371280

Unity中打包Texture到AssetBundle反而比原资源jpg格式还要大,该怎么减小空间?

将1000张的jpg图片拖入Unity,格式设为Texture,并且进行不压缩的方式打包成assetbundle格式。原本一共才50M的jpg,最后居然打包出来340M的assetbundle!!!翻了快7倍!!!

. JPG和PNG深度对比解析 JPG全称为Joint Photographic Expert Group(联合照片专家组),是由国际标准化组织(ISO)制订的面向连续色调静止图像的一种压缩标准,JPEG是JPG的正式扩展名,两者完全相同,使用不同的扩展名称是历史遗留问题。 为什么不建议你对图片开启Gzip压缩? 很多朋友可能会发现,对于JS、CSS、HTML这些文件来说,当你开启Gzip压缩之后往往都会压缩到原有体积的三分之一,但是呢,对于图片开启Gzip压缩之后,体积基本没有啥变化,这是为什么呢?是使用一种特别的方法为信号源中的每个符号设定一个二进制码,出现频率更大的符号会获得更短的比特,出现频率更小的符号会被分配更长的比特,以此来提高数据的压缩率,提高传输效率。如果文件中有两块相同的内容,我们就可以使用两块相同内容之间的距离和长度来替换后一块内容,这样文件的整个体积就可以变小了。,所以没有必要用Gzip的。 【转】JPG打包压缩后比原来尺寸还大 作者:刘源链接:https://www.zhihu.com/question/40371280/answer/86262934来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

想用jpg的话,直接使用WWW加载jpg文件本身。加载好之后,WWW.texture 就是你要的贴图。

—————————————————————————————————... 哈夫曼编码实现图片压缩与解压 整体思路:

读原文件,获得权值列表,生成哈夫曼树,遍历树生成哈夫曼编码。

写入压缩文件,后缀.huf,先写入文件头(包括文件类型,权值列表,文件长度,以便于从压缩文件中再次生成哈夫曼编码来解压,也可以用其他的方式,比如直接将哈夫曼编码以先序遍历的方式写入压缩文件的开始,代码中有体现)。

将原文件编码后写入压缩文件。

读取压缩文件,生成哈夫曼树,每次读取到0则向左子树移动,读取到1向右子树移动,直到遇到叶子结点,将叶子结点存储的编码写入解压文件。

值得注意的的是,权值数组的运作。图片文件按二进制读取,一.

图形处理/算法

19,472

社区成员

50,678

社区内容

发帖 与我相关 我的任务 图形处理/算法 VC/MFC 图形处理/算法 复制链接

扫一扫 分享 确定 社区描述 VC/MFC 图形处理/算法 社区管理员

加入社区

获取链接或二维码

近7日

近30日

至今

加载中

查看更多榜单

社区公告

暂无公告 试试用AI创作助手写篇文章吧

+ 用AI写文章

最新发表
友情链接