news 2026/4/23 8:23:22

数字图像处理篇---JPEG

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
数字图像处理篇---JPEG

核心比喻:画一幅印象派油画

假设你要临摹一张细节丰富的照片,但时间有限、画布也很贵。JPEG的做法就像一位印象派画家

  1. 先画轮廓和大色块(这是最重要的信息)。

  2. 对于远处树叶的细碎纹理、墙上的微小斑点,就用笔触稍微“糊弄”一下,眯起眼来看整体效果差不多就行。

  3. 观众站在正常距离看,会觉得画得很像;但若凑得非常近用放大镜看,就会发现很多细节是模糊的色块。

JPEG就是一种“印象派”的图像压缩技术:在保证人眼远看效果的前提下,聪明地省掉费时费力的超精细细节。


具体是怎么“糊弄”的?8步拆解

想象我们把照片交给JPEG“压缩工厂”,它会严格按照流水线处理:

第一步:分块(准备工作)

  • 把整张图片切成很多个8像素 × 8像素的小方块,就像马赛克一样。后续所有操作都以一个“块”为单位进行。

第二步:颜色转换(利用人眼弱点)

  • 把每个块的颜色信息,从RGB模式(红、绿、蓝)转换成YCbCr模式

    • Y亮度(Luminance),记录明暗。人眼对此极度敏感

    • Cb, Cr色度(Chrominance),记录颜色偏移。人眼对此比较迟钝

  • 关键技巧:JPEG通常会把色度信息扔掉一半(比如4个像素共用一组颜色值)。这是第一次有损压缩,但因为你眼睛不敏感,所以几乎察觉不到。

第三步:离散余弦变换(DCT,核心魔法)

  • 对每个8x8的块,进行一种名为DCT的数学变换。

  • 变换前:块里是64个不同的像素亮度值。

  • 变换后:变成64个频率系数,排列成8x8的矩阵。

    • 左上角的值是低频系数,代表这个块的整体轮廓和主要色块(非常重要!)。

    • 右下角的值是高频系数,代表这个块的细微纹理和边缘细节(比如头发丝、树叶脉络)。

第四步:量化(有损压缩的关键一步)

  • 这是“糊弄”的核心!JPEG拿出一张量化表,表上的数字越大,表示压缩得越狠。

  • 操作:用DCT系数除以量化表上对应的数字,然后四舍五入取整数

  • 结果

    • 重要的低频系数除以较小的数,得以较好保留。

    • 不重要的高频系数除以很大的数,结果直接变成0或接近0

  • 量化表越“激进”,产生的0就越多,图片文件就越小,但细节损失也越严重。这是图像质量下降的主要原因

第五步:Z字形扫描与打包

  • 经过量化后,矩阵右下角会出现一大串连续的0。JPEG聪明地按“之”字形顺序(从左上低频到右下高频)把64个数字排成一串。这样,末尾的一长串0就很容易处理了。

第六步:熵编码(最后的无损压缩)

  • 对这一长串数字(尤其是那串0)进行哈夫曼编码(一种用短代码表示常见数字的技巧),完成最后的“打包”,生成最终的.jpg文件。


解压(看图片)时,过程相反:

  1. 解码哈夫曼编码。

  2. 把数据填回8x8矩阵。

  3. 乘以量化表(注意:被量化为0的高频信息永远丢失了!这就是为什么JPEG压缩不可逆)。

  4. 进行逆DCT变换,变回像素值。

  5. 颜色空间转换回RGB。

  6. 把所有块拼回完整的图片。


JPEG的特点(优缺点)

优点:

  • 压缩率极高:能把图片文件缩小到原来的1/10甚至1/20,而人眼在正常观看距离下几乎看不出差别

  • 通用性极强.jpg是世界上最通用的图片格式。

缺点(副作用):

  1. 块状伪影:如果压缩得太狠(量化表太激进),在颜色或亮度剧烈变化的边界(比如天空和建筑的边缘),原本平滑的过渡会变成可见的、一格一格的“马赛克”(块效应)。

  2. 模糊与振铃:细节丰富的区域(如草地、毛发)会变得模糊,并且在锐利边缘旁边可能出现虚假的波纹或光环

  3. 不适合反复编辑保存:每保存一次JPEG,就相当于重新“糊弄”一次,细节损失会累积,图像质量会像复印件的复印件一样越来越差。

一句话总结

JPEG就像一个聪明的“视觉魔术师”。它利用人眼对亮度敏感、对色度和高频细节不敏感的特性,通过“分块->转频率域->大胆舍弃高频细节”的三步法,用极小的文件大小,换取了人眼观感上几乎无损的图像效果。它是为“观看”而生的,不是为“反复编辑”而生的。

框图要点解读:

  1. 从核心理念出发:JPEG的一切设计都围绕“利用人眼感知特性进行有损压缩”这一核心。它不是为完美还原,而是为高效观看。

  2. 三步预处理

    • 分块:将大问题分解为可并行处理的小单元(8x8块)。

    • 色彩转换:转换为YCbCr色彩空间,这是利用人眼生理特性的第一步。下采样色度是首次有损操作,但效果显著且感知损失小。

  3. 核心压缩流程(对每个块)

    • DCT变换:将信息从像素域转换到频率域。这是技术的关键,实现了“能量集中”—— 将图像的主要信息(能量)集中在少数低频系数上。

    • 量化:这是“有损”和“智能取舍”的灵魂。通过精心设计的量化表,系统性地丢弃对人眼不重要的高频细节量化表的激进程度直接决定了最终的图像质量和文件大小

  4. 高效打包

    • Z字形扫描:一种巧妙的排序方法,目的是将量化后产生的大量0(通常集中在高频区)排列在一起,为后续压缩创造最佳条件。

    • 熵编码:最后一步使用成熟的无损编码技术(哈夫曼编码)对非零值和零游程进行极致压缩,生成紧凑的二进制码流。

  5. 解压的不可逆性:必须强调,解压是压缩的逆向过程,但量化中被舍入(特别是归零)的高频信息已永久丢失。这是“有损”的本质,也是产生视觉瑕疵的根源。

  6. 特征与副作用

    • JPEG是为连续色调的自然图像(如照片)优化的。它对大块平缓颜色和渐变区域压缩效果极好。

    • 副作用(块效应、模糊、振铃)在过度压缩或压缩包含锐利边缘和文字的图像时会变得非常明显。

总之,JPEG是一个精巧的、针对人眼视觉系统弱点进行“精准打击”的工程杰作。它在文件大小和视觉保真度之间取得了划时代的平衡,从而成为数十年来最主流的图像格式。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 1:02:44

计算机小程序毕设实战-基于springboot+小程序的高校校园信息交流平台小程序设计与实现基于微信小程序的智慧校园平台的设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/4/16 4:39:47

数据中台建设中的10大常见坑点及避坑指南

数据中台建设中的10大常见坑点及避坑指南 关键词:数据中台、坑点分析、避坑指南、数据治理、技术架构、组织协同、数据质量、安全合规、运营机制、成本控制 摘要:数据中台作为企业数字化转型的核心基础设施,其建设复杂度高、涉及面广&#xf…

作者头像 李华
网站建设 2026/4/16 21:58:20

《边缘受限设备API客户端轻量化与功能适配实战指南》

不同IoT终端的资源禀赋与业务诉求存在天壤之别,环境感知类终端仅需完成基础数据上报的核心交互,工业现场传感终端则需兼顾指令接收与状态回传,楼宇监测终端还需适配间歇性的断网续传需求,这就决定轻量化设计绝不能采用一刀切的模式,必须基于终端硬件参数台账与业务场景图谱…

作者头像 李华
网站建设 2026/4/18 4:22:30

基于SpringBoot和Vue的实验室预约系统设计与实现

文章目录 详细视频演示项目介绍技术介绍功能介绍核心代码系统效果图源码获取 详细视频演示 文章底部名片,获取项目的完整演示视频,免费解答技术疑问 项目介绍 基于Spring Boot的实验室预约系统采用前后端分离架构,后端以Spring Boot为核心框…

作者头像 李华
网站建设 2026/4/21 3:55:16

从企业能耗集采到区域碳管理-智慧能源平台开发指南

先上干货! 墙内仓库地址(码云):https://gitee.com/guangdong122/energy-management 已同步更新到 github 仓库 温馨提示:文末有资源获取方式~ 能源系统|能源系统源码|企业能源系统|企业能源系统源码|能源监测系统 一…

作者头像 李华