1.1 数字图像概念


1.1 数字图像概念

本节摘要:SOURCE 1.1:数字图像是物理场景经采样量化得到的离散矩阵。本节动手用 OpenCV 读图、打印 dtype 与动态范围,理解灰度 0–255 与二值图在分割中的角色。

学习目标

  1. 区分模拟图像与数字图像
  2. 说明采样率与量化位数对质量的影响
  3. 运行最小读图脚本并解释输出

一、从光到矩阵

连续光信号 → 传感器采样 → 每点量化到整数。灰度图每像素 1 通道 0–255;彩色 RGB 每像素 3 通道;二值图 0/1 表前景背景。

import cv2 import numpy as np img = cv2.imread('sample.png', cv2.IMREAD_GRAYSCALE) print(img.shape, img.dtype, img.min(), img.max()) # 例:(480, 640) uint8 0 255

二、动手:创建合成图像

# 256x256 渐变 — 理解量化 h, w = 256, 256 grad = np.tile(np.linspace(0, 255, w, dtype=np.uint8), (h, 1)) cv2.imwrite('grad.png', grad)
类型 shape 典型用途
灰度 (H, W) 边缘、阈值
RGB/BGR (H, W, 3) 显示、颜色特征
二值 (H, W) 掩膜、轮廓

数字化流程

数字化流程

数字化流程

三、质量指标(SOURCE 1.1.4)

  • 分辨率:H×W 越高细节越多,存储越大
  • 灰度级:8 bit = 256 级;医学 CT 常用 12–16 bit
  • 信噪比 SNR:后续第 2 章去噪用 PSNR/SSIM 评估

四、实验验收

  1. 读入彩色图转灰度,确认 (H,W) 降维
  2. 对灰度图 >128 得二值图,数白色像素占比
  3. grad.png 直方图用 cv2.calcHist 画出 — 应近似均匀

⚠️ 常见坑imread 失败返回 None 未检查 — 路径或中文编码问题。

💡 关键直觉:CV 里「图像」= NumPy 数组,算法 = 数组运算。

要点速记

  • 采样+量化产生数字图像
  • uint8 灰度 0–255 是最常见工作格式
  • 二值图是分割输出形态
  • OpenCV 读图先验 shape/dtype

下一节深入矩阵存储与通道顺序。

位深、分辨率与存储

数字图像由"采样密度(分辨率)"和"量化位数(位深)"两个维度刻画。分辨率决定空间细节:同样视野下 1920×1080 能分辨的最小物体是 640×480 的三倍小,但存储和计算也近似三倍。位深决定灰度层次:8 位灰度提供 256 级,医学影像常用 12 位(4096 级)或 16 位,因为病灶组织的灰度差异可能只有几十级,位深不足会直接丢失诊断信息。工业相机常见 8 位和 10 位,HDR 合成图像常以 16 位保存避免累加溢出。

# 存储量估算 h, w, c = 1920, 1080, 3 # 彩色 1080p bytes_per_img = h * w * c # 未压缩约 6.2 MB # 灰度为 h*w*1,二值图可压缩到 1/8(bit 打包)

二值图虽然在视觉上简单,实际却要谨慎处理:阈值选在哪、前后景如何定义,直接决定下游轮廓和测量的准确性。灰度图转二值图是"信息压缩",压缩时损失的细节无法恢复,所以工业流水线里通常保留灰度图做测量,只在需要掩膜时临时转二值。

质量指标与实验设计

评价图像质量有两个视角。客观指标:PSNR 用于和"干净参考图"比较,适合去噪实验;SSIM 更接近人眼感知,对结构信息敏感,适合评估压缩和增强效果;信噪比 SNR 衡量信号相对噪声的强度。主观视角:肉眼检查边缘是否清晰、是否有伪影,工业验收里"目视合格"往往是第一道门槛。做实验时建议固定一个标准动作:读图 → 打印 shape 和 dtype → 转灰度 → 画直方图 → 做变换 → 保存对比。这个固定动作跑熟之后,后续所有章节的实验都能复用,也是培养工程手感最快的方式。

补一个关于 dtype 的工程提醒:uint8 的加减会回绕(255+1=0),浮点图的范围是 0.0-1.0 而不是 0-255。用 numpy 直接做算术时一定要先确认类型,cv2.add 这类函数会自动饱和截断,而 numpy 的加法不会——这两者的差异是初学者最常见的隐性 bug 来源。遇到图像全黑或全白,第一反应检查类型和数值范围,多半能定位问题。

最后,数字化流程的物理意义值得多说一句:采样率不满足奈奎斯特条件时会产生混叠(锯齿、摩尔纹),这也是为什么工程上拍摄高密度纹理(栅栏、网格布)时图像会"闪"。理解采样量化这一对操作,是理解后续一切图像算法的起点。

再补一个像素邻接的概念:数字图像里像素的邻接有 4 邻接(上下左右)和 8 邻接(加对角线)两种,它决定连通性判断——8 邻接下两个对角相接的像素是连通的,4 邻接下则不是。这个区分在形态学(3.3 节)和区域生长(4.3 节)里直接影响结果,到时会回头用到本节的概念。另外图像显示时要注意数据类型:uint8 直接显示是 0-255 灰度,float32 直接显示往往全黑,需要归一化到 0-255 或 0-1,这也是实验里最常见的显示问题之一。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U