作为图像处理的开篇,本文将带你拆解数字图像的底层逻辑:从模拟图像到数字信号的神奇转换,到像素世界的微观构成,再到彩色图像的编码奥秘。通过 Python 代码实战,你将亲手触摸图像的 “基因”—— 像素值,并学会用 OpenCV 和 Matplotlib 揭开图像的物理本质。
一、从照片到数字:图像的数字化过程
你手机里的照片是如何变成电脑能识别的文件?这需要经过采样和量化两个关键步骤:
1. 模拟图像的数字化三步曲
- 采样(Sampling):把连续的图像空间坐标离散化。想象用网格纸覆盖照片,每个网格交点就是一个采样点,网格密度决定了图像分辨率(如 1920×1080 表示横向 1920 个、纵向 1080 个采样点)。
- 量化(Quantization):把连续的像素值转化为离散的整数值。每个采样点的颜色亮度被量化为 0-255 的整数(如 8 位量化有 256 个等级),量化精度用 “位深度” 表示(常见 8 位、16 位、24 位)。
- 编码(Coding):将量化后的数值按特定格式存储(如 BMP、JPEG、PNG)。
2. 分辨率 vs 位深度:图像的两大 DNA
-
分辨率:决定图像的细节丰富度(单位:像素 / 英寸,PPI)