JPG 的图片格式详解

JPG 的图片格式详解JPGjpg 全名是 JPEG JPEG 图片以 24 位颜色存储单个光栅图像 JPEG 是与平台无关的格式 支持最高级别的压缩 不过 这种压缩是有损耗的 渐近式 JPEG 文件支持交错 jpg 功能 可以提高或降低 JPEG 文件压缩的级别 但是 文件大小是以牺牲图像质量为代价的 压缩比率可以高达 100 1 JPEG 格式可在 10 1 到 20 1 的比率下轻松地压缩文件 而图片质

JPG

jpg全名是JPEG 。JPEG 图片以 24 位颜色存储单个光栅图像。JPEG 是与平台无关的格式,支持最高级别的压缩,不过,这种压缩是有损耗的。渐近式 JPEG 文件支持交错。

jpg功能  

可以提高或降低 JPEG文件压缩的级别。但是,文件大小是以牺牲图像质量为代价的。压缩比率可以高达 100:1。(JPEG 格式可在 10:1 到 20:1 的比率下轻松地压缩文件,而图片质量不会下降。)JPEG 压缩可以很好地处理写实摄影作品。但是,对于颜色较少、对比级别强烈、实心边框或纯色区域大的较简单的作品,JPEG 压缩无法提供理想的结果。有时,压缩比率会低到 5:1,严重损失了图片完整性。这一损失产生的原因是,JPEG 压缩方案可以很好地压缩类似的色调,但是 JPEG 压缩方案不能很好地处理亮度的强烈差异或处理纯色区域。

jpg优缺点

  优点:摄影作品或写实作品支持高级压缩。

  缺点:有损耗压缩会使原始图片数据质量下降。

jpg压缩模式

jpg压缩步骤

  由于JPEG的无损压缩方式并不比其他的压缩方法更优秀,因此我们着重来看它的有损压缩。以一幅24位彩色图像为例,JPEG的压缩步骤分为:

  1.颜色转换  

  转换完成之后还需要进行数据采样。一般采用的采样比例是4:1:1或4:2:2。由于在执行了此项工作之后,每两行数据只保留一行,因此,采样后图像数据量将压缩为原来的一半。

  2.DCT变换

  3.量化  

  4.编码  

  编码实际上是一种基于统计特性的编码方法。在JPEG中允许采用HUFFMAN编码或者算术编码。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232481.html原文链接:https://javaforall.net

(0)
上一篇 2025年10月8日 下午6:01
下一篇 2025年10月8日 下午6:43


相关推荐

  • 奶牛选美(dfs+bfs)

    奶牛选美(dfs+bfs)奶牛选美听说最近两斑点的奶牛最受欢迎 约翰立即购进了一批两斑点牛 不幸的是 时尚潮流往往变化很快 当前最受欢迎的牛变成了一斑点牛 约翰希望通过给每头奶牛涂色 使得它们身上的两个斑点能够合为一个斑点 让它们能够更加时尚 牛皮可用一个 N M 的字符矩阵来表示 如下所示 XXXX XXX XXXX XX XXXX XXX XXXXX XXX 其中 X 表示斑点部分 如果两个 X 在垂直或水平方向上相邻 对角相邻不算在内 则它们属于同一个斑点 由此看出上图中恰好有两个斑点

    2026年3月19日
    3
  • java log4j 配置文件_[Java教程]log4j配置文件详解

    java log4j 配置文件_[Java教程]log4j配置文件详解[Java教程]log4j配置文件详解02016-07-2523:00:18在开发中经常会碰到日志,网上关于日志的框架也很多,像log4j、self4j、common-logging等,下面对log4j进行介绍。log4j是java开发的日志框架,具有低侵入的特点,其重点使用的部分是log4j的配置文件,有两格式的配置文件,一种###setloglevels###log…

    2026年4月19日
    4
  • 什么是进程池_进程池的实现

    什么是进程池_进程池的实现今天学习了JIR、进程池和线程池GIL:GlobalInterpreterLock全局解释器锁锁的作用:为了避免资源竞争造成数据错乱python程序的执行过程1.启动解释器进程pyth

    2022年8月1日
    8
  • pycharm多行代码同时注释、去除注释_解除注释的快捷键

    pycharm多行代码同时注释、去除注释_解除注释的快捷键1.单行多行注释快捷键:ctrl+/2.取消单行多行注释快捷键:ctrl+/

    2022年8月29日
    4
  • 卸载oracle——详细版

    卸载oracle——详细版一 停止服务 1 去服务中停到所有的关于 oracle 的服务 2 有一个服务和应用程序 进去之后找到所有的关于 oracle 的服务 停止掉二 启动卸载 1 在开始菜单中找到安装的 oracle 下的 UniversalIns 点击打开 2 弹出框中选择卸载 3 选择需要删除的 oracle 目录 4 进入到如图所示路径 找到运行 deinstall bat 进行删除操作注意 这里好多人看着可能就直接去把这个文件删除了 是不对的 如果你误删了 可以让别人给你发一个放

    2026年3月26日
    2
  • spss聚类分析步骤详细解读_spss聚类分析实验报告

    spss聚类分析步骤详细解读_spss聚类分析实验报告目录快速聚类系统聚类分析二阶聚类分析快速聚类【分析】【分类】【k-均值聚类】,将变量移至变量框中,员工id移至【个案标注依据】框中【聚类数】是期望分成几组【保存】勾选【聚类成员】复选框结果解读:随机选择三个数据作为快速聚类的初始位置显示迭代次数,迭代过程可以理解为每个类别与初始位置之间的距离改变情况,当这个距离变动非常小,迭代就完成了…

    2022年10月9日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号