数字化图像的过程

图像数字化原理【细化扩充完整版|采样 + 量化 + 编码,考点 + 原理 + 代码 + 易错点】

现实世界光线、景物是连续模拟信号(时域 / 空域连续、亮度连续) ,计算机只能存储离散数字,一张实景变成矩阵图像必经:采样 → 量化 → 编码三步,是整张图像处理理论根基。

1.1 采样 Sampling(空间离散化:坐标由连续→离散)

本质:在连续二维平面上等间距抽取坐标点,只保留采样位置的亮度,其余舍弃,实现空间维度离散。

1.1.1 空间采样(静态图片)

  1. 采样间隔Ts:相邻两个像素的物理距离;
    • Ts越小 → 采样密度越高 → 分辨率越高、细节越丰富;
    • Ts越大 → 采样稀疏 → 分辨率低、马赛克、细节丢失。
  2. 分辨率定义:W×H = 横向采样点数 × 纵向采样点数
    • 1080P:1920 (宽采样数)×1080 (高采样数)
    • 4K:3840×2160,同等尺寸画布采样点数量≈4 倍 1080P
  3. 奈奎斯特采样定理(采样核心考点) 图像细节对应空间高频信号,采样频率必须>2 倍图像最高空间频率,否则发生混叠失真(摩尔纹、锯齿)

例:斜条纹布料拍照出现诡异彩色波纹 = 采样不足导致混叠。

1.1.2 时域采样(动态视频)

视频是连续时序画面,对时间轴等间隔采样:FPS(帧率)=每秒时域采样画面数量

  • 24FPS:1s 内采集 24 张静态图像;
  • FPS 过低:画面卡顿、拖影(时域采样不足)。

补充:采样实操

OpenCV 图像缩放降分辨率 = 人为减少采样点:

python

运行

复制代码
import cv2
img = cv2.imread("test.jpg")
# 缩小=减少采样点数,分辨率下降
img_low = cv2.resize(img,(320,240))

1.2 量化 Quantization(亮度离散化:灰度由连续→有限整数)

采样只固定了像素位置,每个采样点的亮度依旧是连续实数;量化:把无穷连续的亮度区间,划分成N个区间,同一区间内所有亮度统一映射成同一个整数值。

1.2.1 量化级数与位深关系

N=2BitDepth

表格

位深 量化级数N 像素取值范围 应用场景
1bit 21=2 0,1 二值黑白图、文档扫描
8bit 28=256 0∼255 日常 JPG/PNG、OpenCV 默认图像
16bit 216=65536 0∼65535 相机 RAW 原图、医学 CT、工业视觉
32bit 浮点 连续 0.0∼1.0 深度学习归一化图像、中间计算图

1.2.2 量化误差 & 量化失真

量化取整带来的亮度差值 = 量化误差

  • 量化级数越少(位深越低)→误差越大;
  • 典型失真:色带(色调分层):天空渐变、墙面渐变从平滑过渡变成一块一块阶梯色块。

实操:8bit 转 1bit(二值化)是极端量化,大量灰度被合并,细节丢失严重。

python

运行

复制代码
# 低量化演示:把0~255压缩为4个灰度等级(2bit)
img = cv2.imread("test.jpg",0)
img_quant = (img//64)*64

1.2.3 均匀量化 / 非均匀量化

  1. 均匀量化(通用图像):每个灰度区间宽度相等,8bit 图像等分 0~255;
  2. 非均匀量化(JPG、人眼优化):人眼对暗部更敏感,暗部量化区间更小、级数更密,亮部区间更大,同等 bit 下肉眼画质更好。

1.3 编码 Encoding(数据压缩存储,减少磁盘占用)

采样 + 量化完成后,原始裸数据(BMP 格式)体积极大,编码就是按照特定算法对像素矩阵压缩、规整格式,生成图片文件

1.3.1 无损编码(压缩后解码和原图像素完全一致,无画质损失)

压缩原理:利用像素重复冗余(大面积纯色、连续相同灰度),不丢弃任何像素信息

  • BMP:无压缩原始位图,直接存储全部像素,体积最大;
  • PNG:DEFLATE 无损压缩,支持 Alpha 透明通道;
  • TIFF:工业无损格式,支持 16bit 高位深图像。

1.3.2 有损编码(丢弃人眼不敏感高频细节,大幅压缩体积)

压缩时剔除图像高频信息(细小纹理、细微噪点),解压无法还原原始像素:

  • JPEG:基于 DCT 离散余弦变换,丢弃高频细节;压缩率越高画质越差;

关键坑:JPG 反复保存 = 多次有损压缩,画质逐级劣化、越来越糊

拓展串联知识点(衔接前文)

  1. 采样 → 决定图像分辨率 (H,W)
  2. 量化 → 决定图像位深、像素取值范围 (uint8/uint16)
  3. 编码 → 决定**文件格式 (JPG/PNG/BMP)**三者共同决定一张图片的内存占用:单张 8bit 1920×1080 灰度原图裸内存:1920×1080×1 Byte
相关推荐
赛逸会展s1 分钟前
2027赛逸展机器人展新闻发布会在京举行
人工智能·机器人
月光船幽幽2 分钟前
真实即粗糙,光滑是伪造
人工智能·python
智购科技自动售货机工厂6 分钟前
2026自动售货机语音支付模块集成:从声纹识别到支付闭环的工程实践~YH
大数据·服务器·网络·数据库·人工智能
一次旅行7 分钟前
Attention机制从数学到工程:拆解缩放点积+多头注意力|附可运行PyTorch实现与踩坑指南
人工智能·pytorch·python
不是株15 分钟前
Agent Memory 架构
人工智能·agent
richard_first22 分钟前
Transformer 与大语言模型:第10章 Residual (残差连接)
人工智能·深度学习·机器学习·transformer
zhongerzixunshi24 分钟前
深耕绿色建材认证 赋能建筑行业低碳高质量发展
人工智能
Wang's Blog24 分钟前
Vibe Coding一人即团队系列10: 在 Claude 与 Codex 中接入 DeepSeek 模型
人工智能
lisw0525 分钟前
计算与科学哲学(Philosophy of Computing and Science)
java·开发语言·人工智能
天天进步201527 分钟前
Pixelle-Video 源码解析 #10:多模型适配:GPT、通义千问、DeepSeek、Ollama 如何统一调用?
人工智能·gpt