【数字图像处理】

数字图像处理

  • 绪论
    • 1. 数字图像处理基本概念
    • 2. 数字图像处理系统的组成
    • 3. 数字图像处理技术研究的内容
    • 4. 数字图像处理技术的应用领域
    • 5. 图像处理技术涉及的学科领域
  • 图像处理基础
    • 1. 电磁波谱与可见光谱
    • 2. 人眼的亮度视觉特性
    • 3. 图像的表示
    • 4. 空间分辨率和灰度级分辨率
    • 5. 像素间的关系
    • 6. 图像的显示
    • 7. 图像文件格式(以 BMP 为例)
  • 数字图像的基本运算
    • 1. 灰度反转
    • 2. 对数变换
    • 3. 灰度直方图
    • 4. 图像的代数运算
    • 5. 图像的几何运算
  • 空间域图像增强
    • 1. 图像增强概述
    • 2. 基于点运算的图像增强方法
    • 3. 基于直方图的图像增强方法
    • 4. 基于空间平滑滤波的图像增强方法
    • 5. 基于空间锐化滤波的图像增强方法
  • 频率域图像处理
    • 1. 频率域图像处理基础
    • 2. 频率域图像处理实现
    • 3. 频率域低通滤波(去噪)
    • 4. 频率域高通滤波(增强边缘)
    • 5. 带阻与带通滤波
    • 6. 关键公式与总结
  • 图像恢复
    • 1. 图像恢复的基本概念
    • 2. 图像的退化模型
    • 3. 逆滤波图像恢复
    • 4. 维纳滤波图像恢复
    • 5. 匀速直线运动模糊的恢复
    • 6. 图像噪声与被噪声污染图像的恢复
    • 7. 几何失真的校正
  • 图像压缩编码
    • 1. DCT 变换(离散余弦变换)
    • 2. 数字图像压缩编码基础
    • 3. 图像编码模型
    • 4. 数字图像的信息熵
    • 5. 几种基本的变长编码方法
    • 6. 位平面编码
    • 7. 游程编码
    • 8. 图像质量评价 —— 保真度准则
  • 彩色图像处理
    • 1. 彩色视觉基础
    • 2. 彩色模型
    • 3. 彩色变换
    • 4. 彩色图像增强
    • 5. 彩色图像平滑
    • 6. 彩色图像锐化
    • 7. 彩色图像边缘检测

绪论

1. 数字图像处理基本概念

  1. 图像
    • 定义:“图” 是物体反射或透射电磁波的分布,“像” 是人的视觉系统对接收的图信息在大脑中形成的印象或认识,图像是 “图” 和 “像” 的结合。图像是用各种观测系统以不同形式和手段观测客观世界而获得的、可以直接或间接作用于人的视觉系统而产生视知觉的实体。
    • 分类:
      • 模拟图像:二维空间和亮度值都是连续的图像,如胶片定影后的影像胶卷冲洗后得到的照片。
      • 数字图像:二维空间和亮度值都是用有限数字数值表示的图像,如数码相继拍摄的图像。
  2. 数字图像处理(Digital Image Processing)
    • 定义:指对数字图像信息进行加工,以改善图像的视觉效果和提高图像的实用性,或对数字图像进行压缩编码以减少所需存储空间的技术。也称为计算机图像处理,泛指利用计算机技术对数字图像进行某些数学运算和各种加工处理。
    • 基本特征:系统的输入和输出都是图像,如加噪、图像合成、求图像最大 / 最小 / 平均灰度值等。
  3. 图像分析
    • 定义:通过对图像中不同对象进行分割来对图像中目标进行分类和识别的技术。
    • 基本特征:输入是图像,输出是对输入图像进行描述的信息,如图像的直方图、边缘检测结果等。
    • 与图像处理的关系:图像处理是对图像的低级处理阶段,图像分析是高一级的处理阶段,两者相互关联、有重叠。低级处理是高级处理的基础,高级处理是目的。本书中提到的图像处理概念是广义的,包括低级处理和高级处理(图像处理与分析)。
  4. 图像处理的目的
    • 提高图像的视感质量,达到赏心悦目的目的。
    • 提取图像中包含的某些特征或特殊信息,满足目标识别和计算机视觉等应用需求。
    • 对图像数据进行变换、编码和压缩,便于图像的高效存储和传输。

2. 数字图像处理系统的组成

  1. 架构:数字图像的处理过程由计算机完成,包括图像输入、计算机处理、结果输出。
  2. 组成部分
    • 图像的感知与获取设备(输入设备):将景物转换成计算机可接受的数字图像的采集设备,有的直接作为数字化图像输入设备,有的是间接的数字化图像输入设备,如电视摄像机、扫描仪、数码照相机、遥感图像获取设备等。
    • 图像处理系统和软件开发工具及平台:专用或通用图像处理系统;利用 MATLAB 图像处理工具箱进行软件开发;以 VC++ 或 BC++ 为编程工具在 Windows 上开发。
    • 图像输出设备:彩色显示设备、彩色印刷 / 打印设备,如喷墨打印机、激光打印机、数字印刷机等。

3. 数字图像处理技术研究的内容

  1. 图像获取与表示:研究如何获取数字图像并对其进行表示。
  2. 图像基本运算:包括图像的(像素)点运算、图像直方图运算处理、图像的代数运算、图像的集合运算等,在课程第 3 章介绍。
  3. 图像变换:是简化图像处理过程和提高图像处理效果的基本技术,最典型的有傅里叶变换、离散余弦变换和小波变换等,课程把三种变换和其应用结合起来,分布到第 5、7、8 章介绍。
  4. 图像增强:突出图像中感兴趣的特征或显现模糊的细节,使图像更清晰或更适合处理与分析,包括空间域图像增强方法(第 4 章)和频率域图像处理(第 5 章)。
  5. 图像恢复:从图像退化的数学或概率模型出发,改进图像外观,使恢复后的图像尽可能反映原始图像的本来面目,在第 6 章介绍。
  6. 图像压缩编码:在不损失或少量损失图像质量的前提下,减少图像的存储量,满足存储和实时传输需求,在第 7 章介绍。
  7. 图像特征提取:图像特征是区分图像内部特征的最基本属性,是图像目标检测识别的基础,在第 10 章介绍。
  8. 图像分割:把图像划分成背景和目标,提取感兴趣的目标或为区域提取目标奠定基础,是图像处理中较困难的任务之一,在第 9 章介绍。
  9. 彩色图像处理技术:由于图像技术的广泛应用,彩色图像处理成为重要研究内容和方向,在第 11 章介绍。
  10. 形态学图像处理技术:是提取图像元素的技术,在表现和描述物体形状方面有很好的处理效果和应用价值,在第 12 章介绍。
  11. 图像的表示和描述:通过对图像中感兴趣特征的定性和定量描述,赋予识别出的目标以符号标识和解释,在第 13 章介绍。
  12. 视频图像处理:新增内容,在第 4 版中介绍运动目标检测与识别及视频压缩编码技术。

4. 数字图像处理技术的应用领域

  1. 医学应用:通过 CT、核磁共振、超声波、X 射线成像的分析等提供医学诊断依据,如肝脏和胃的横断平面 CT 图像分析。
  2. 遥感与资源勘探:用于农、林等资源调查,农作物长势监测,自然灾害监测、预报,地势、地貌测绘,地质构造解译、找矿,环境污染检测等,如 SPOT 图像用于监测土地变化,卫星影象用于土地动态监测,1998 年长江洪涝灾害监测。
  3. 工业生产:无损探伤,石油勘探,生产过程自动化(识别零件,装配质量检查),工业机器人研制等。
  4. 军事应用:航空及卫星侦察照片的测绘、判读,雷达、声纳图像处理,导弹制导,军事仿真等,如隐形飞机、定位轰炸,夜视侦查成像,军事目标跟踪,景象匹配精确制导。
  5. 通信技术:图像传真,数字电视、网络可视聊天、可视电话网页动画等。
  6. 空间探索:获取空间图像进行分析,如土星卫星的相关研究。
  7. 公安与信息安全:指纹识别,印签、伪钞识别,安检,手迹、印记鉴别分析等。
  8. 气象预报:获取气象云图进行测绘、判读等,如风云 1 号、风云 2 号气象卫星图像应用。
  9. 广告设计:用于广告图像的设计和制作。
  10. 艺术和影视应用:计算机绘画、计算机合成图像、动画、娱乐等,如图像配准示例,华南虎事件图像合成,动画制作。

5. 图像处理技术涉及的学科领域

  1. 基础技术领域:涉及数学、物理学、生理学、心理学、电子学、计算机科学等基础学科,以及模式识别、计算机视觉、计算机图形学等研究范围,还有人工智能、神经网络、遗传算法、模糊逻辑等研究进展。
  2. 涉及的学科:典型的交叉学科技术,包括计算机科学与技术、信息与通信工程(信号与信息处理)、控制科学与工程(模式识别与智能系统)、测绘科学与技术(航空摄影测量)、光学工程(光学成像及处理技术)、医学工程(二级学科)、医学技术(二级学科)。

图像处理基础

1. 电磁波谱与可见光谱

  1. 电磁辐射波
    • 组成与范围:包括无线电波、微波、红外线、可见光、紫外线、X 射线、γ 射线等。波长最长的无线电波为 3×10²m,最短的 γ 射线为 3×10⁻¹⁷m。
    • 成像应用:不同波段有不同成像方式和应用领域。如 γ 射线用于骨骼扫描、PET 图像;X 射线用于医学成像(胸部 X 射线、CT)、电路板检测;紫外线成像可识别真菌感染的谷物;可见光与红外波段用于卫星图像(如 LANDSAT);微波段(雷达)不受气候光照影响,可穿透云层等,用于西藏山区雷达图像;无线电波用于磁共振成像(MRI);此外还有声波成像(地震模型)、电子显微镜成像(钨丝、集成电路)等。
  2. 可见光谱
    • 颜色与波长:太阳辐射主要占据可见光谱,可见光按波长不同依次为紫、蓝、青、绿、黄、橙、红,白光由多种颜色混合而成。可见光谱波长范围约 380nm(紫)到 780nm(红),近红外、短波红外等延伸波段也有明确波长划分。
    • 颜色决定因素:物体颜色由反射光特性决定,反射所有可见光平衡时为白色,只反射有限范围光则呈现对应颜色。
    • 光的分类:仅有单一波长的光为单色光,含两种以上波长的为复合光,二者均为有色彩光;消色光无色彩(如黑白电视的光),仅有亮度或强度,用灰度级描述。

2. 人眼的亮度视觉特性

  1. 视觉适应性
    • 主观亮度与光强度成对数关系,图像对数运算符合视觉特性。
    • 暗适应性:人眼从亮到暗环境的适应能力。
    • 视觉惰性:对亮度变化跟踪滞后,有短暂记忆特性。
  2. 同时对比效应
    • 人眼对区域亮度的感觉不仅取决于该区域强度,还与背景或周围亮度有关。
    • 实例与程序:通过 MATLAB 程序生成 4 幅不同背景亮度中间方块亮度相同的图像,展示对比效应。程序使用 zeros 创建矩阵,通过循环给图像赋值和设置中间方块亮度,用 imshow 显示,title 加标题。
  3. 马赫带效应
    • 人类视觉在亮度变化处会出现虚幻亮或暗条纹,在不同亮度区域边界有 “欠调” 和 “过调” 现象。
  4. 视觉错觉
    • 人眼填充不存在信息或错误感知物体几何特点,如栅格火花错觉、长度与透视错觉、曲线正方形错觉等实例。

3. 图像的表示

  1. 简单成像模型

    • 图像定义为二维函数 f (x,y),(x,y) 为像素坐标,f 为亮度幅值。
    • f (x,y) 由照射光强度 i (x,y) 和反射 / 透射系数 r (x,y) 决定,即 f (x,y)=i (x,y) r (x,y),其中 0 < i (x,y) < A₁,0 ≤ r (x,y) ≤ 1。
    • 消色光图像(灰度图像)中,f (x,y) 表示灰度值 l,范围 [Lmin, Lmax],实际常取 [0, L-1],L=2ᵏ(k 为正整数)。
  2. 数字图像的表示

    • 采样与量化:连续图像需进行空间(采样)和幅值(量化)的离散化。均匀采样是对 x、y 方向等间距划分成 M×N 网格;均匀量化是将灰度范围 [0, Lmax] 划分为 L=2ᵏ 个等级。

    • 表示方法:数字图像可表示为 M×N 的二维数字阵列,每个元素为像素。黑白图像(k=1,L=2)、256 灰度级图像(k=8,L=256)等。彩色图像由 R、G、B 三原色构成,各用 8 位表示。

    • 存储计算:存储一幅 M×N 图像的位数 b = M×N×k,如黑白图像每个像素 1bit,16 灰度级 4bit,256 灰度级 8bit。

      举例:求一幅600×800的黑白图像、 16灰度级图像、256灰度级图像,分别需要多少字节的存储空间?
      在这里插入图片描述

    • 坐标系统:数字图像运算和显示使用不同坐标系统,运算坐标与数学公式对应,显示坐标与屏幕像素位置对应。

4. 空间分辨率和灰度级分辨率

  1. 空间分辨率
    • 定义为图像中可分辨的最小细节,由采样间隔决定,常用单位距离内的黑白线对数目表示(如每毫米线对数)。
    • 对同样大小景物,采样线对数越多(分辨率越高),采样间隔越小,图像细节越清晰,图像阵列 M×N 越大;空间分辨率不变时,M×N 越大图像尺寸越大。
  2. 灰度分辨率
    • 指灰度级别中可分辨的最小变化,即像素点的灰度级数,通常用灰度级级数 L 表示。
  3. 对图像效果的影响
    • 采样数变化:在空间分辨率不变时,采样数越少图像越小;景物大小不变时,图像阵列越小尺寸越小。
    • 空间分辨率变化:分辨率降低,图像细节损失,粗颗粒像素点变明显,视觉效果变差。
    • 灰度分辨率变化:分辨率降低,图像细节损失,伪轮廓增加,视觉效果变差。

5. 像素间的关系

  1. 相邻像素与邻域

    • 4 - 邻域:像素 p (x,y) 的水平和垂直相邻像素,坐标为 (x-1,y)、(x,y-1)、(x,y+1)、(x+1,y),记为 N₄§。

      在这里插入图片描述

    • 4 - 对角邻域:像素 p 的对角相邻像素,坐标为 (x-1,y-1)、(x-1,y+1)、(x+1,y-1)、(x+1,y+1),记为 ND§。

      在这里插入图片描述

    • 8 - 邻域:4 - 邻域和 4 - 对角邻域像素的集合,记为 N8§。

      在这里插入图片描述

  2. 距离度量

    • 距离度量函数:对于在图像显示坐标系中坐标分别位于 (x,y),(u,v) 和 (w,z) 处的像素 p、q 和 r,如果:

      • D(p,q)≥0(D(p,q)=0,当且仅当 p=q,即 p 和 q 是指同一像素)
      • D(p,q)=D(q, p)
      • D(p,r) ≤D(p,q)+D(q,r)

      则D是距离度量函数

    • 欧氏距离:De (p,q)=[(x-u)²+(y-v)²]1/2,像素在以 (x,y) 为中心的圆内。

      在这里插入图片描述

    • 街区距离(D₄):D₄(p,q)=|x-u| + |y-v|,像素在以 (x,y) 为中心的菱形内。

      在这里插入图片描述

    • 棋盘距离(D₈):D₈(p,q)=max (|x-u|, |y-v|),像素在以 (x,y) 为中心的方形内。

      在这里插入图片描述

6. 图像的显示

  1. 显示分辨率与图像分辨率

    • 显示分辨率是显示屏能显示的最大像素行列数,取决于像素点距离;图像分辨率是图像中可分辨的最小细节,即空间分辨率(图像阵列大小)。
    • 同一显示器显示图像大小只与图像空间分辨率有关;同一图像在不同显示分辨率显示器上,显示分辨率越高图像外观尺寸越小,反之越大。
  2. 光度分辨率与灰度分辨率

    • 光度分辨率是显示系统产生正确亮度的精度,依赖于控制像素亮度的比特数;灰度分辨率是灰度级中的最小变化,用灰度级数 L 表示。
  3. 彩色模型

    • 人眼视觉用亮度、色调、饱和度区分颜色,亮度与反射率成正比,色调与光谱主波长联系,饱和度与色调纯度有关,详细内容在彩色图像处理章节介绍。
  4. 位图与调色板

    • 位映像是二维像素阵列,位图是采用位映像存储和显示的图像,位映像设备逐像素扫描显示位图。

    • 调色板是 16 色或 256 色显示系统中,将频繁出现的颜色组成颜色表,每个颜色有索引号,对应 24 位 RGB 值,称为颜色查找表(LUT)。

    • 常用颜色的 RGB 值组合:

      颜色红色分量(R)绿色分量(G)蓝色分量(B)
      黑色000
      白色255255255
      红色25500
      绿色02550
      蓝色00255
      青色0255255
      品红(紫色)2550255
      黄色2552550
      灰色128128128
      橄榄色1281280
      深青色0128128
      银色192192192

7. 图像文件格式(以 BMP 为例)

  1. 常用的文件格式有:BMP 、JPEG 、GIF、TIFF、PCX 等。
  2. BMP 文件组成
    • 位图文件头(BITMAPFILEHEADER):14 字节,包括文件类型(“BM”)、大小、保留字、位图数据偏移量。
    • 位图信息头(BITMAPINFOHEADER):40 字节,包含信息头大小、图像宽高、平面数(1)、每个像素位数(1、4、8、24)、压缩格式、位图数据字节数、分辨率、实际使用颜色数等。
    • 位图调色板:由颜色格式确定的调色板数组,每个元素是 4 字节的 RGBQUAD 结构,包含蓝、绿、红分量和保留字。
    • 位图数据:对于有调色板的位图,数据是像素在调色板中的索引值;2 色图像每个字节 8 像素,16 色 2 像素,256 色 1 像素;真彩色图像数据是 B、G、R 值,3 字节 / 像素。数据按行从下到上、从左到右存储,每行字节数为 4 的倍数,不足补 0。

数字图像的基本运算

从严格的意义上来说,各种图像处理方法都是一种图像运算方法。

从一般意义上来说,图像运算仅指对图像中的所有像素实施了相同处理的那些运算,比如对图像的点运算、直方图运算、代数运算、几何运算、灰度插值运算等。

1. 灰度反转

  • 定义

    • 黑白图像:灰度值为 1 的像素变为 0,0 变为 1。
    • 256 灰度级图像:用 255 减去原图像各像素灰度值。
  • 数学表达式:设图像灰度级为 L,灰度反转可表示为g(x,y)=L−1−f(x,y)。

  • 示例:256 灰度级图像反转后,正片变为负片(如原灰度 0→255,255→0)。

    在这里插入图片描述

  • MATLAB 程序

    clc; clear all; close all;
    img0 = imread('d:\0_matlab图像课编程\lena.jpg');
    result_img = 256 - 1 - img0; % 灰度反转
    subplot(1,2,1); imshow(img0); title('原图像');
    subplot(1,2,2); imshow(result_img); title('灰度反转图像(负片)');
    

2. 对数变换

  • 数学表达式g(x,y)=c·log(1+f(x,y))

    在这里插入图片描述

  • 作用

    • 压缩图像灰度值动态范围,提升低灰度值。
    • 符合人眼视觉特性(视觉感受与光强度成对数关系)。
  • 应用场景:傅里叶频谱显示中,调高低灰度值(高频成分),避免 8 比特显示系统中低灰度值丢失。

  • 示例:对傅里叶频谱图进行 c=1 的对数变换,突出低频成分的同时保留高频细节。

3. 灰度直方图

  1. 概念

    • 定义:表示数字图像中灰度级分布的函数,横坐标为灰度级(0~255),纵坐标为各灰度级像素数量或频率。

    • 数学定义

      • 非归一化:h(rk)=nk,其中 nk 为灰度值为 rk 的像素个数。
      • 归一化:h(rk)= n k N \frac{nₖ}{N} Nnk,N 为图像总像素数。
  2. 灰度图像的对比度

    • 定义:图像中最亮白与最暗黑之间亮度层级的测量,用最大灰度值与最小灰度值的比值表示。

    • 特征:对比度越大,图像越清晰醒目;越小则画面灰蒙蒙。

  3. 直方图分布特征与图像对比度的关系

    • 直方图偏左:图像灰度值普遍偏小,偏暗。

      在这里插入图片描述

    • 直方图偏右:图像灰度值普遍偏大,偏亮。

      在这里插入图片描述

    • 直方图分布在局部区域:图像对比度低。

      在这里插入图片描述

    • 直方图均匀分布且有峰值:图像亮度黑白分明,对比度高。

      在这里插入图片描述

  4. 直方图的特征

    • 仅描述灰度值像素个数,无空间信息。

    • 特定图像有唯一直方图,不同图像可具有相同直方图。

    • 像素总数关系: ∑ j = 0 L − 1 h ( j ) = M × N \sum_{j=0}^{L-1} h(j) = M \times N j=0L1h(j)=M×N(M×N 为图像分辨率)。

    • 由不连接区域组成的图像,其直方图为各区域直方图之和。

4. 图像的代数运算

  1. 相加运算

    • 定义:对两幅大小相同的图像对应位置像素相加,生成新图像(图像合成)。

    • 数学表达式:g(x,y)=f1(x,y)+f2(x,y)

    • 实现方式

      • 灰度值折半相加:g(x,y)=integerRound(f1(x,y)+f2(x,y))
      • 按比例相加:g(x,y)=αf1(x,y)+βf2(x,y)(α+β=1)

      在这里插入图片描述

    • 应用:多幅图像叠加去加性噪声,公式为 g ( x , y ) = 1 n ∑ i = 1 n f i ( x , y ) g(x,y)= \frac{1}{n} \sum_{i=1}^{n} f_i(x,y) g(x,y)=n1i=1nfi(x,y),n 为图像数量,噪声随 n 增加而降低。

      在这里插入图片描述

  2. 相减运算

    • 定义:从一幅图像各像素中减去另一幅图像对应位置像素值。

    • 数学表达式:g(x,y)=f1(x,y)−f2(x,y)

      在这里插入图片描述

    • 结果处理:相减结果 ≥0 时取原值;<0 时取 0 或绝对值。

    • 应用:图像变化检测。

5. 图像的几何运算

  1. 平移变换

    • 定义:将图像或子图像块所有像素按指定 X、Y 方向偏移量移动。

    • 数学表达式:设初始坐标(x0,y0),偏移量(Δx,Δy),平移后坐标(x1,y1),则x1=x0+Δx,y1=y0+Δy

    • 矩阵形式

      [ x 1 y 1 1 ] = [ 1 0 Δ x 0 1 Δ y 0 0 1 ] [ x 0 y 0 1 ] \begin{bmatrix} x_1 \\ y_1 \\ 1 \end{bmatrix} = \begin{bmatrix} 1 & 0 & \Delta x \\ 0 & 1 & \Delta y \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x_0 \\ y_0 \\ 1 \end{bmatrix} x1y11 = 100010ΔxΔy1 x0y01

    • 实现方式

      • 图像块平移:移动子块,其余部分不变。

        在这里插入图片描述

      • 整幅图像平移:保持原幅面,移出部分截掉。

        在这里插入图片描述

  2. 旋转变换

    • 定义:以图像中心为原点,将所有像素旋转相同角度。

    • 实现方式

      • 幅面放大:按外接矩形尺寸放大。
      • 幅面不变:截断旋转后超出原幅面的部分。
    • 基于 xoy 平面坐标系的点旋转变换

      • 设点(x0,y0)旋转 β 角度后到(x1,y1),则: x 1 = x 0 c o s β + y 0 s i n β , y 1 = − x 0 s i n β + y 0 c o s β x₁ = x₀ cosβ + y₀ sinβ,y₁ = -x₀ sinβ + y₀ cosβ x1=x0cosβ+y0sinβy1=x0sinβ+y0cosβ

      • 矩阵形式:

        [ x 1 y 1 1 ] = [ cos ⁡ β sin ⁡ β 0 − sin ⁡ β cos ⁡ β 0 0 0 1 ] [ x 0 y 0 1 ] \begin{bmatrix} x_1 \\ y_1 \\ 1 \end{bmatrix} = \begin{bmatrix} \cos\beta & \sin\beta & 0 \\ -\sin\beta & \cos\beta & 0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x_0 \\ y_0 \\ 1 \end{bmatrix} x1y11 = cosβsinβ0sinβcosβ0001 x0y01

    • 映射到图像显示坐标的变换:考虑图像显示坐标原点在左上角,x 轴朝右、y 轴朝下,需通过坐标转换推导最终变换公式。

  3. 镜像变换

    • 水平镜像

      • 定义:原图像与镜像图像关于虚拟垂直轴对称。

        在这里插入图片描述

      • 数学表达式:设图像高度 h、宽度 w,原坐标(x0,y0),镜像后(x1,y1),则x1=x0,y1=w−y0+1。

      • MATLAB 程序

        clc; clear; close all;
        img0 = imread('d:\0_matlab图像课编程\lena.jpg');
        [h, w] = size(img0);
        for x0 = 1:hfor y0 = 1:wresult_img(x0, w - y0 + 1) = img0(x0, y0);end
        end
        subplot(1,2,1); imshow(img0); title('原图像');
        subplot(1,2,2); imshow(result_img); title('水平镜像结果图像');
        
    • 垂直镜像

      • 定义:原图像与镜像图像关于虚拟水平轴对称。

        在这里插入图片描述

      • 数学表达式:x1=h−x0+1,y1=y0

  4. 转置变换

    • 定义:图像行坐标与列坐标互换。

      在这里插入图片描述

    • 数学表达式:原坐标(x0,y0),转置后(x1,y1),则x1=y0,y1=x0

    • 注意:与图像旋转不同,旋转 90° 无法得到转置结果。

  5. 缩放变换

    • 定义:对图像进行缩小或放大。

    • 数学表达式:原坐标(x0,y0),按比例 r 缩放后(x1,y1),则x1=rx0,y1=ry0

    • 图像缩小

      • 目的:使图像符合显示区域大小、生成缩略图。

      • 简单方法:保留奇数行/列和偶数行/列,将图像缩小到原大小的 1/4。

        在这里插入图片描述

    • 图像放大

      • 目的:使图像在高分辨率设备上更好显示。

      • 最近邻域插值法

        • 整数倍放大:将原像素复制到放大后图像的多个像素。
        • 非整数倍放大:通过坐标映射找到原图像对应像素,取最近邻像素值作为插值结果。公式为 x old = x new × ( h old / h new ) , y old = y new × ( w old / w new ) x_{\text{old}} = x_{\text{new}} \times (h_{\text{old}}/h_{\text{new}}),y_{\text{old}} = y_{\text{new}} \times (w_{\text{old}}/w_{\text{new}}) xold=xnew×(hold/hnew)yold=ynew×(wold/wnew),取整后获取原像素值。
      • 双线性插值法

        • 原理:通过计算输出像素在输入图像中 4 个像素之间的非整数位置的灰度值进行插值。

        • 步骤:先在 x 方向对上端和下端像素线性插值,得到 (x,0) 和 (x,1) 处的灰度值;再在 y 方向对这两个点线性插值,得到 (x,y) 处的灰度值。

          在这里插入图片描述

        • 数学推导

          • x 方向插值: f ( x , 0 ) = f ( 0 , 0 ) + x [ f ( 1 , 0 ) − f ( 0 , 0 ) ] , f ( x , 1 ) = f ( 0 , 1 ) + x [ f ( 1 , 1 ) − f ( 0 , 1 ) ] f(x,0)=f(0,0)+x[f(1,0)−f(0,0)],f(x,1)=f(0,1)+x[f(1,1)−f(0,1)] f(x,0)=f(0,0)+x[f(1,0)f(0,0)]f(x,1)=f(0,1)+x[f(1,1)f(0,1)]
          • y 方向插值: f ( x , y ) = f ( x , 0 ) + y [ f ( x , 1 ) − f ( x , 0 ) ] f(x,y)=f(x,0)+y[f(x,1)−f(x,0)] f(x,y)=f(x,0)+y[f(x,1)f(x,0)]
          • 最终公式: f ( x , y ) = [ f ( 1 , 0 ) − f ( 0 , 0 ) ] x + [ f ( 0 , 1 ) − f ( 0 , 0 ) ] y + [ f ( 1 , 1 ) + f ( 0 , 0 ) − f ( 0 , 1 ) − f ( 1 , 0 ) ] x y + f ( 0 , 0 ) f(x,y) = [f(1,0) - f(0,0)]x + [f(0,1) - f(0,0)]y + [f(1,1) + f(0,0) - f(0,1) - f(1,0)]xy + f(0,0) f(x,y)=[f(1,0)f(0,0)]x+[f(0,1)f(0,0)]y+[f(1,1)+f(0,0)f(0,1)f(1,0)]xy+f(0,0)

空间域图像增强

1. 图像增强概述

  1. 定义:通过对图像的边缘、轮廓、对比度等特征进行强调或尖锐化,使其更适合人眼观察或机器处理的技术。

在这里插入图片描述

  1. 分类

    • 空间域增强:在图像平面直接对像素灰度值进行运算处理。
    • 频率域增强:在图像频率域进行增强处理(见第 5 章)。
  2. 空间域增强方法:包括灰度变换、直方图增强、空间运算等方法。

2. 基于点运算的图像增强方法

  1. 对比度拉伸

    • 目的:通过增强图像各部分反差,增加灰度值间动态范围来实现图像增强。

    • 典型线性变换函数

      g = { a ⋅ f 0 ≤ f < a β ⋅ ( f − a ) + g a a ≤ f < b γ ⋅ ( f − b ) + g b b ≤ f < L g = \begin{cases} a \cdot f & 0 \leq f < a \\ \beta \cdot (f - a) + g_a & a \leq f < b \\ \gamma \cdot (f - b) + g_b & b \leq f < L \end{cases} g= afβ(fa)+gaγ(fb)+gb0f<aaf<bbf<L

      可实现均匀变亮、变暗、特定区间线性变化等效果。

    • 示例

在这里插入图片描述
原图像经不同对比度拉伸后的效果,包括均匀变亮、变暗、[a,b] 区间线性变化等。

  1. 窗切片(灰度切片)

    • 目的:提高图像中某个灰度级范围的亮度,突出该部分。

    • 基本方法

      • 给关心的灰度范围指定较高灰度值,其他部分指定较低值或 0 值。
      • 给关心的灰度范围指定较高灰度值,其他部分灰度值保持不变。
    • 示例

在这里插入图片描述
展示了两种窗切片方法的图示
在这里插入图片描述
展示了对比度拉伸与窗切片的灰度变换结果。

3. 基于直方图的图像增强方法

  1. 直方图增强的基本思想:当图像像素占据所有灰度级且均匀分布时,图像对比度高、灰度色调多变。直方图增强通过将原始图像直方图变换为均匀分布或指定形状,实现图像增强。

  2. 直方图均衡

    • 基本思想:将已知灰度概率分布的图像变换为均匀灰度概率分布的新图像,扩大灰度分布范围、增加对比度。

    • 变换函数条件:单值单调增加,且将 [0,1] 区间的灰度值映射到 [0,1] 区间。

    • 离散变换函数:通过统计像素频数计算归一化概率,利用直方图均衡化公式 s k = ∑ j = 0 k n j n , 0 ≤ r j , s k ≤ 1 ; k = 0 , 1 , … , L − 1 s_k = \sum_{j=0}^{k} \frac{n_j}{n}, \quad 0 \leq r_j, s_k \leq 1; \quad k = 0, 1, \dots, L - 1 \ sk=j=0knnj,0rj,sk1;k=0,1,,L1 计算变换函数值。

    • 实现步骤:统计原图像灰度分布、计算归一化概率、求变换函数值、映射灰度级、计算新图像像素值、统计新图像灰度分布。

    • 示例:已知有一幅如图4.7 的图像 ,灰度级为8 。利用直方图均衡化方法增强该图像。

      1. 统计原灰度图像中不同灰度级像素的个数(原图像的灰度级分布)。

      2. 根据公式p(rk)= n k N \frac{nₖ}{N} Nnk(N 为图像总像素数)计算原图像的归一化灰度级分布概率,并画出原图像的灰度直方图。

      3. 依据式 s k = ∑ j = 0 k n j n , 0 ≤ r j , s k ≤ 1 ; k = 0 , 1 , … , L − 1 s_k = \sum_{j=0}^{k} \frac{n_j}{n}, \quad 0 \leq r_j, s_k \leq 1; \quad k = 0, 1, \dots, L - 1 \ sk=j=0knnj,0rj,sk1;k=0,1,,L1 ,求各灰度级对应的变换函数值。

      4. 根据式 t k = IntergerRound ( ( L − 1 ) × s k ) t_k = \text{IntergerRound}\left((L - 1) \times s_k\right) tk=IntergerRound((L1)×sk),将原图像的灰度级,映射到新图像的灰度级。

        在这里插入图片描述

      5. 根据式 g ( i , j ) = t ( f ( i , j ) ) , t k = 0 , 1 , … , L − 1 (4.11) g(i, j) = t_{(f(i, j))}, \quad t_k = 0, 1, \dots, L-1 \tag{4.11} g(i,j)=t(f(i,j)),tk=0,1,,L1(4.11),求原图像 f 被均衡化后得到的新图像 g 中各个像素的灰度值,得到的均衡化后的新图像如图 4.10 所示。

在这里插入图片描述
6. 统计新灰度图像中不同灰度级像素的个数(新图像的灰度级分布),结果如表4.3所示。
在这里插入图片描述
7. 求新图像的归一化灰度级分布概率,并画出新图像的灰度直方图。
在这里插入图片描述

  1. 直方图规定化

    • 基本思想:将已知直方图的图像变换为具有期望直方图的图像,有选择地增强特定灰度范围。
    • 实现步骤:先对原图像进行直方图均衡化,再根据指定期望直方图求变换函数值,映射灰度级,计算结果图像像素值。
    • 总结:直方图规定化 = “原始直方图均衡化” + “规定直方图均衡化” + “双向映射匹配”,通过让两者的累计分布函数(CDF)尽可能接近,实现灰度替换。

4. 基于空间平滑滤波的图像增强方法

  1. 相关概念

    • 图像噪声:如椒盐噪声、脉冲噪声等,是空间上不相联系的离散像素变化。
    • 高频与低频信号:高频信号指图像中变化剧烈的部分(如边缘、噪声),低频信号指像素值变化平缓的部分。
    • 低通与高通滤波:低通滤波保留低频、滤除高频,用于去噪;高通滤波保留高频、滤除低频,用于增强边缘。
  2. 线性平滑滤波(邻域平均法)

    • 邻域平均法:通过计算像素邻域灰度平均值来平滑噪声,公式 g ( x , y ) = { 1 8 ∑ i = 1 8 O i 当  ∣ f ( x , y ) − 1 8 ∑ i = 1 8 O i ∣ > ε f ( x , y ) 其它 g(x,y) = \begin{cases} \dfrac{1}{8} \sum_{i=1}^{8} O_i & \text{当 } \left| f(x,y) - \dfrac{1}{8} \sum_{i=1}^{8} O_i \right| > \varepsilon \\ f(x,y) & \text{其它} \end{cases} g(x,y)= 81i=18Oif(x,y)  f(x,y)81i=18Oi >ε其它中通过误差门限 ε 判断是否为噪声。
    • 均值滤波法:简化邻域平均法,直接用 3×3 窗口内像素灰度平均值替代原像素值,公式 g ( i , j ) = 1 9 ∑ s = − 1 1 ∑ t = − 1 1 f ( i + s , j + t ) (4.17) g(i,j) = \frac{1}{9} \sum_{s=-1}^{1} \sum_{t=-1}^{1} f(i+s, j+t) \tag{4.17} g(i,j)=91s=11t=11f(i+s,j+t)(4.17) 其中: i , j ∈ [ 0 , N − 2 ] i,j \in [0, N-2] i,j[0,N2]。,低通滤波器脉冲响应如式 H ( s , t ) = 1 9 [ 1 1 1 1 1 1 1 1 1 ] H(s,t) = \frac{1}{9} \begin{bmatrix} 1 & 1 & 1 \\ 1 & 1 & 1 \\ 1 & 1 & 1 \end{bmatrix} H(s,t)=91 111111111 g ( i , j ) = ∑ s = − k k ∑ t = − l l f ( i + s , j + t ) H ( s , t ) i , j = 0 , 1 , 2 , ⋯ , N − M ; k , l = ⌊ M 2 ⌋ \begin{align*} g(i, j) &= \sum_{s=-k}^{k} \sum_{t=-l}^{l} f(i + s, j + t) H(s, t) \\ &\quad i, j = 0, 1, 2, \cdots, N - M; \ k, l = \left\lfloor \frac{M}{2} \right\rfloor \end{align*} g(i,j)=s=kkt=llf(i+s,j+t)H(s,t)i,j=0,1,2,,NM; k,l=2M
    • 模板:典型低通滤波模板如 3×3 全 1 模板,模板尺寸越大,平滑效果越明显但图像越模糊。
    • 示例在这里插入图片描述
      展示了均值滤波去噪效果。
    • 多幅图像平均:通过对多幅同一场景图像求平均来平滑噪声,公式 g ( i , j ) = 1 n ∑ k = 1 n f k ( i , j ) g(i, j) = \frac{1}{n} \sum_{k=1}^{n} f_k(i, j) g(i,j)=n1k=1nfk(i,j)
  3. 非线性平滑滤波(中值滤波)

    • 基本原理:用邻域像素灰度中值代替当前像素值,消除孤立噪声点。

    • 窗口形状:有线形、十字形、方形、菱形、圆形等。

    • 算法描述:选定窗口,移动扫描,排序邻域像素,取中值赋给窗口中心像素。

    • 示例

      在这里插入图片描述
      展示了中值滤波去噪效果,并与邻域平均法比较,中值滤波在保留边缘的同时去噪效果更好。

5. 基于空间锐化滤波的图像增强方法

  1. 目的:增强和突出图像中被模糊的边缘和轮廓,提升对比度和视觉效果。

  2. 基于一阶微分的方法

    • 梯度与一阶导数:梯度是函数变化的度量,一阶导数算子即梯度算子。

    • 离散梯度计算

      • 水平和垂直方向的一阶差分如式 ∇ x f ( i , j ) = f ( i + 1 , j ) − f ( i , j ) \nabla_x f(i, j) = f(i+1, j) - f(i, j) xf(i,j)=f(i+1,j)f(i,j) ∇ y f ( i , j ) = f ( i , j + 1 ) − f ( i , j ) \nabla_y f(i, j) = f(i, j+1) - f(i, j) yf(i,j)=f(i,j+1)f(i,j)
      • 梯度模值如式 G ( i , j ) = [ f ( i + 1 , j ) − f ( i , j ) ] 2 + [ f ( i , j + 1 ) − f ( i , j ) ] 2 G(i, j) = \sqrt{\left[ f(i+1, j) - f(i, j) \right]^2 + \left[ f(i, j+1) - f(i, j) \right]^2} G(i,j)=[f(i+1,j)f(i,j)]2+[f(i,j+1)f(i,j)]2
      • 简化为绝对值和 G ( i , j ) = ∣ f ( i + 1 , j ) − f ( i , j ) ∣ + ∣ f ( i , j + 1 ) − f ( i , j ) ∣ G(i, j) = \left| f(i+1, j) - f(i, j) \right| + \left| f(i, j+1) - f(i, j) \right| G(i,j)=f(i+1,j)f(i,j)+f(i,j+1)f(i,j)
    • 罗伯特差分法:交叉差分法,定义式 G ( i , j ) = ∣ f ( i + 1 , j + 1 ) − f ( i , j ) ∣ + ∣ f ( i + 1 , j ) − f ( i , j + 1 ) ∣ (4.37) G(i, j) = \left| f(i+1, j+1) - f(i, j) \right| + \left| f(i+1, j) - f(i, j+1) \right| \tag{4.37} G(i,j)=f(i+1,j+1)f(i,j)+f(i+1,j)f(i,j+1)(4.37),用于检测边缘。

    • 增强结果图像形成:直接取梯度图像、设置门限突出边缘、指定边缘灰度级、将梯度边缘叠加到原图像。

    • 示例

      展示了水平垂直差分法和罗伯特差分法的梯度图像和增强结果。

  3. 基于二阶微分的方法(拉普拉斯算子锐化法)

    • 拉普拉斯算子:二阶微分算子,

      • 连续形式如式 ∇ 2 f = ∂ 2 f ∂ x 2 + ∂ 2 f ∂ y 2 \nabla^2 f = \frac{\partial^2 f}{\partial x^2} + \frac{\partial^2 f}{\partial y^2} 2f=x22f+y22f
      • 离散形式如式 ∇ 2 f ( i , j ) = f ( i + 1 , j ) + f ( i − 1 , j ) + f ( i , j + 1 ) + f ( i , j − 1 ) − 4 f ( i , j ) \nabla^2 f(i,j) = f(i + 1, j) + f(i - 1, j) + f(i, j + 1) + f(i, j - 1) - 4f(i, j) 2f(i,j)=f(i+1,j)+f(i1,j)+f(i,j+1)+f(i,j1)4f(i,j)

      用于检测边缘交点,边缘检测精度更高。

    • 常用模板:如 H1、H2 等模板,

在这里插入图片描述
展示了不同模板的检测结果。

  • 增强结果图像形成:将原始图像和二阶微分图像叠加,使用如 H6、H9 等模板,

    展示了锐化结果。

频率域图像处理

1. 频率域图像处理基础

  1. 频率域图像定义
    • 用空间频率表示图像像素灰度值的分布特征,以频谱图形式呈现信息分布。
    • 基于傅里叶变换,将图像从空间域转换到频率域处理,再反变换回空间域。
  2. 二维离散傅里叶变换(2D-DFT)
    • 定义
      • 一般定义(M×N 图像):
        • 正变换: F ( u , v ) = 1 M N ∑ x = 0 M − 1 ∑ y = 0 N − 1 f ( x , y ) exp ⁡ [ − j 2 π ( x u M + y v N ) ] F(u,v) = \frac{1}{MN} \sum_{x=0}^{M-1} \sum_{y=0}^{N-1} f(x,y) \exp\left[-j2\pi\left(\frac{xu}{M} + \frac{yv}{N}\right)\right] F(u,v)=MN1x=0M1y=0N1f(x,y)exp[j2π(Mxu+Nyv)]
        • 反变换: f ( x , y ) = 1 M N ∑ u = 0 M − 1 ∑ v = 0 N − 1 F ( u , v ) exp ⁡ [ j 2 π ( x u M + y v N ) ] f(x,y) = \frac{1}{MN} \sum_{u=0}^{M-1} \sum_{v=0}^{N-1} F(u,v) \exp\left[j2\pi\left(\frac{xu}{M} + \frac{yv}{N}\right)\right] f(x,y)=MN1u=0M1v=0N1F(u,v)exp[j2π(Mxu+Nyv)]
      • 当 M=N 时简化定义:
        • 正变换: F ( u , v ) = 1 N ∑ x = 0 N − 1 ∑ y = 0 N − 1 f ( x , y ) exp ⁡ [ − j 2 π ( x u + y v N ) ] F(u,v) = \frac{1}{N} \sum_{x=0}^{N-1} \sum_{y=0}^{N-1} f(x,y) \exp\left[-j2\pi\left(\frac{xu + yv}{N}\right)\right] F(u,v)=N1x=0N1y=0N1f(x,y)exp[j2π(Nxu+yv)]
        • 反变换: f ( x , y ) = ∑ u = 0 N − 1 ∑ v = 0 N − 1 F ( u , v ) exp ⁡ [ j 2 π ( u x + v y N ) ] f(x,y) = \sum_{u=0}^{N-1} \sum_{v=0}^{N-1} F(u,v) \exp\left[j2\pi\left(\frac{ux + vy}{N}\right)\right] f(x,y)=u=0N1v=0N1F(u,v)exp[j2π(Nux+vy)]
    • 频谱与相位角
      • 频谱(幅度谱): ∣ F ( u , v ) ∣ = R 2 ( u , v ) + I 2 ( u , v ) |F(u,v)| = \sqrt{R^2(u,v) + I^2(u,v)} F(u,v)=R2(u,v)+I2(u,v) ,其中 R 和 I 分别为实部和虚部。
      • 相位角: ϕ ( u , v ) = arctan ⁡ ( I ( u , v ) R ( u , v ) ) \phi(u,v) = \arctan\left(\frac{I(u,v)}{R(u,v)}\right) ϕ(u,v)=arctan(R(u,v)I(u,v))
  3. 傅里叶频谱特性
    • 物理意义:将灰度分布转换为频率分布,低频对应平滑区域,高频对应边缘、噪声等。
    • 重要性质
      • 线性性 F [ a f ( x , y ) + b g ( x , y ) ] = a F ( u , v ) + b G ( u , v ) \mathcal{F}[af(x,y) + bg(x,y)] = a\mathcal{F}(u,v) + b\mathcal{G}(u,v) F[af(x,y)+bg(x,y)]=aF(u,v)+bG(u,v)
      • 可分离性:二维 DFT 可分解为两次一维 DFT,先对行再对列变换。
      • 平均值性质:图像灰度平均值 f ˉ = 1 N 2 F ( 0 , 0 ) \bar{f} = \frac{1}{N^2} F(0,0) fˉ=N21F(0,0)
      • 周期性 F ( u , v ) = F ( u + m M , v + n N ) F(u,v) = F(u + mM, v + nN) F(u,v)=F(u+mM,v+nN),m,n 为整数。
      • 共轭对称性:若 f (x,y) 为实函数,则 F ( u , v ) = F ∗ ( − u , − v ) F(u,v) = F^*(-u,-v) F(u,v)=F(u,v)
      • 平移性:空域平移对应频域相移,频域平移对应空域相移,幅度不变。
      • 旋转不变性:空域旋转 θ 角度,频域也旋转 θ 角度。
  4. 频谱特性分析
    • 对称性:频谱关于 (M/2,N/2) 对称,A 区与 D 区、B 区与 C 区对称。
    • 原点平移:将原点从 (0,0) 平移到 (M/2,N/2) 后,频谱中心变为低频,边缘为高频。
    • 傅里叶变换意义
      • 简化计算:空间域卷积等价于频域乘积。
      • 频域滤波直观:低频对应平滑,高频对应细节,便于设计滤波器。
      • 支持特定应用:如特征提取、数据压缩、纹理分析等。
  5. 快速傅里叶变换(FFT)
    • 实现思路:利用二维 DFT 的可分离性,先对图像各列进行一维 FFT,再对各行进行一维 FFT。
    • Matlab 实现
      • fft2(f):二维傅里叶变换。
      • fftshift(F):将频谱原点平移到中心。
      • log(1+abs(FS)):对数变换增强频谱显示。
      • ifft2(ifftshift(FS)):二维傅里叶逆变换。

2. 频率域图像处理实现

  1. 基本流程
    • 对图像 f (x,y) 进行二维傅里叶变换得到 F (u,v)。
    • 平移频谱原点到 (M/2,N/2) 得到 F’(u,v)。
    • 设计转移函数 H (u,v) 与 F’(u,v) 相乘,得到滤波后的 G (u,v)。
    • 平移 G (u,v) 原点回 (0,0),再反变换得到增强图像 g (x,y)。
  2. 转移函数设计方法
    • 直观选择理想滤波器模型,通过实验调整参数。
    • 基于频率与图像特征的对应关系设计。
    • 基于数学或统计准则设计(如最小均方误差)。
    • 空间域与频域的联系:空间域卷积对应频域乘积,频域滤波器可转换到空间域滤波。

3. 频率域低通滤波(去噪)

  1. 理想低通滤波器(ILPF)
    • 转移函数 H ( u , v ) = { 1 , D ( u , v ) ≤ D 0 0 , D ( u , v ) > D 0 H(u,v) = \begin{cases} 1, & D(u,v) \leq D_0 \\0, & D(u,v) > D_0 \end{cases} H(u,v)={1,0,D(u,v)D0D(u,v)>D0,其中 D ( u , v ) = ( u − M / 2 ) 2 + ( v − N / 2 ) 2 D(u,v) = \sqrt{(u - M/2)^2 + (v - N/2)^2} D(u,v)=(uM/2)2+(vN/2)2 D 0 D_0 D0 为截止频率。
    • 特性:完全通过截止频率内的低频,衰减高频,易产生振铃效应。
  2. 巴特沃斯低通滤波器(BLPF)
    • 转移函数 H ( u , v ) = 1 1 + [ D ( u , v ) / D 0 ] 2 n H(u,v) = \frac{1}{1 + \left[D(u,v)/D_0\right]^{2n}} H(u,v)=1+[D(u,v)/D0]2n1,n 为阶数,n 越小过渡越平滑,振铃效应越弱。
    • 特性:平滑过渡,无明显截止边界,阶数越高越接近理想滤波器,振铃效应越明显。
  3. 高斯低通滤波器(GLPF)
    • 转移函数 H ( u , v ) = exp ⁡ ( − D 2 ( u , v ) 2 D 0 2 ) H(u,v) = \exp\left(-\frac{D^2(u,v)}{2D_0^2}\right) H(u,v)=exp(2D02D2(u,v))D0决定滤波器宽度。
    • 特性:无振铃效应,过渡平滑,高频衰减快,保留更多低频细节。

4. 频率域高通滤波(增强边缘)

  1. 理想高通滤波器(IHPF)
    • 转移函数 H ( u , v ) = { 0 , D ( u , v ) ≤ D 0 1 , D ( u , v ) > D 0 H(u,v) = \begin{cases} 0, & D(u,v) \leq D_0 \\1, & D(u,v) > D_0 \end{cases} H(u,v)={0,1,D(u,v)D0D(u,v)>D0
    • 特性:衰减低频,通过高频,边缘增强明显,但可能丢失太多低频,导致图像对比度降低。
  2. 巴特沃斯高通滤波器(BHPF)
    • 转移函数 H ( u , v ) = 1 1 + [ D 0 / D ( u , v ) ] 2 n H(u,v) = \frac{1}{1 + \left[D_0/D(u,v)\right]^{2n}} H(u,v)=1+[D0/D(u,v)]2n1
    • 特性:平滑过渡,保留部分低频,边缘增强同时保持图像整体对比度,阶数影响过渡带宽度。
  3. 高斯高通滤波器(GHPF)
    • 转移函数 H ( u , v ) = 1 − exp ⁡ ( − D 2 ( u , v ) 2 D 0 2 ) H(u,v) = 1 - \exp\left(-\frac{D^2(u,v)}{2D_0^2}\right) H(u,v)=1exp(2D02D2(u,v))
    • 特性:无振铃效应,高频增强显著,同时保留一定低频,图像细节清晰,适合细微结构增强。

5. 带阻与带通滤波

  1. 带阻滤波器
    • 作用:消除特定频率范围内的噪声(如周期性干扰)。
    • 理想带阻滤波器 H ( u , v ) = { 0 , D 1 ≤ D ( u , v ) ≤ D 2 1 , 其他 H(u,v) = \begin{cases} 0, & D_1 \leq D(u,v) \leq D_2 \\1, & \text{其他} \end{cases} H(u,v)={0,1,D1D(u,v)D2其他 其他,或针对对称点设计: H ( u , v ) = 1 − 1 1 + [ D 0 D ( u , v ) / W ] 2 n H(u,v) = 1 - \frac{1}{1 + \left[D_0 D(u,v)/W\right]^{2n}} H(u,v)=11+[D0D(u,v)/W]2n1,其中 W 为带宽。
    • 特性:阻止以原点为中心的特定频带,常用于去除正弦干扰等结构性噪声。
  2. 带通滤波器
    • 定义 H ( u , v ) = 1 − H 带阻 ( u , v ) H(u,v) = 1 - H_{\text{带阻}}(u,v) H(u,v)=1H带阻(u,v),即通过带阻滤波器翻转得到。
    • 特性:允许特定频带通过,用于提取特定频率特征(如纹理分析)。

6. 关键公式与总结

滤波器类型转移函数表达式主要特性应用场景
理想低通 H ( u , v ) = { 1 , D ( u , v ) ≤ D 0 0 , D ( u , v ) > D 0 H(u,v) = \begin{cases} 1, & D(u,v) \leq D_0 \\0, & D(u,v) > D_0 \end{cases} H(u,v)={1,0,D(u,v)D0D(u,v)>D0锐截止,振铃效应明显简单去噪,对振铃不敏感场景
巴特沃斯低通 H ( u , v ) = 1 1 + [ D ( u , v ) / D 0 ] 2 n H(u,v) = \frac{1}{1 + \left[D(u,v)/D_0\right]^{2n}} H(u,v)=1+[D(u,v)/D0]2n1平滑过渡,n 越大越接近理想通用去噪,需控制振铃效应
高斯低通 H ( u , v ) = exp ⁡ ( − D 2 ( u , v ) 2 D 0 2 ) H(u,v) = \exp\left(-\frac{D^2(u,v)}{2D_0^2}\right) H(u,v)=exp(2D02D2(u,v))无振铃,高频衰减快保细节去噪,如医学图像
理想高通 H ( u , v ) = { 0 , D ( u , v ) ≤ D 0 1 , D ( u , v ) > D 0 H(u,v) = \begin{cases} 0, & D(u,v) \leq D_0 \\1, & D(u,v) > D_0 \end{cases} H(u,v)={0,1,D(u,v)D0D(u,v)>D0锐截止,丢失低频多简单边缘增强,不要求对比度
巴特沃斯高通 H ( u , v ) = 1 1 + [ D 0 / D ( u , v ) ] 2 n H(u,v) = \frac{1}{1 + \left[D_0/D(u,v)\right]^{2n}} H(u,v)=1+[D0/D(u,v)]2n1保留部分低频,n 控制边缘锐度通用边缘增强,自然图像
高斯高通 H ( u , v ) = 1 − exp ⁡ ( − D 2 ( u , v ) 2 D 0 2 ) H(u,v) = 1 - \exp\left(-\frac{D^2(u,v)}{2D_0^2}\right) H(u,v)=1exp(2D02D2(u,v))无振铃,细节增强自然精细结构增强,如遥感图像
带阻 H ( u , v ) = 1 − 1 1 + [ D 0 D ( u , v ) / W ] 2 n H(u,v) = 1 - \frac{1}{1 + \left[D_0 D(u,v)/W\right]^{2n}} H(u,v)=11+[D0D(u,v)/W]2n1消除特定频带噪声去除周期性干扰(如条纹)
带通 H ( u , v ) = 1 − H 带阻 ( u , v ) H(u,v) = 1 - H_{\text{带阻}}(u,v) H(u,v)=1H带阻(u,v)提取特定频带特征纹理分析,频域特征提取

图像恢复

1. 图像恢复的基本概念

  1. 定义:使退化图像去除退化因素,以最大保真度恢复成原图像的技术。
  2. 与图像增强的区别
    • 图像增强:改进图像视觉效果。
    • 图像恢复:去除退化因素,复原被退化图像,去模糊属于图像恢复技术。

2. 图像的退化模型

  1. 常见退化现象的物理模型
    • 造成退化的因素:透镜像差 / 色差、聚焦不准(失焦)、模糊(限制频谱宽度)、噪声(统计过程)、抖动(机械、电子)等。
    • 常见的 4 种退化现象的物理模型:非线性退化、空间模糊退化、平移退化、叠加随机噪声退化。
    • 图像退化举例:成像模糊、运动成像模糊、光脉冲退化、抖动模糊等。
  2. 图像退化模型的表示:设原图像为f(x,y),退化过程可视为系统H作用于原图像并叠加噪声n(x,y),退化模型表示为 g ( x , y ) = H [ f ( x , y ) ] + n ( x , y ) g(x,y)=H[f(x,y)]+n(x,y) g(x,y)=H[f(x,y)]+n(x,y)

3. 逆滤波图像恢复

  1. 无约束最小二乘方恢复:在最小均方误差意义下,通过求退化后实际图像g与退化图像估值的模平方最小值来恢复图像,不施加约束。
  2. 逆滤波图像恢复方法:对式 g ( x , y ) = H [ f ( x , y ) ] + n ( x , y ) g(x,y)=H[f(x,y)]+n(x,y) g(x,y)=H[f(x,y)]+n(x,y)两边取傅里叶变换,可得 F ( u , v ) = G ( u , v ) H ( u , v ) F(u,v) = \frac{G(u,v)}{H(u,v)} F(u,v)=H(u,v)G(u,v),求反变换得到恢复图像。
  3. 无约束图像恢复的病态性:若H(u,v)在uv平面取零或很小,噪声项会被放大主导恢复结果,导致不稳定解,可采用有约束恢复或在频域中心附近复原。

4. 维纳滤波图像恢复

  1. 有约束最小二乘方恢复:为克服病态性施加约束,需知道噪声的模平方,可通过噪声均值和方差表示,采用拉格朗日乘数法求解。
  2. 维纳滤波图像恢复方法:总体思路是使估计图像与原图像的均方误差最小,标准维纳滤波器公式为 F ( u , v ) = H ∗ ( u , v ) G ( u , v ) ∣ H ( u , v ) ∣ 2 + S n ( u , v ) / S f ( u , v ) F(u,v) = \frac{H^*(u,v)G(u,v)}{\vert H(u,v) \vert^2 + S_n(u,v)/S_f(u,v)} F(u,v)=H(u,v)2+Sn(u,v)/Sf(u,v)H(u,v)G(u,v),其中 Sn(u,v) 为噪声功率谱,Sf(u,v) 为图像功率谱。当噪声为白噪声时,Sn(u,v) 为常数,可近似用系数 K 代替 Sn(u,v)/Sf(u,v)。

5. 匀速直线运动模糊的恢复

在曝光瞬间相机与目标的相对匀速直线运动造成图像模糊,设景物在 x 方向匀速运动,曝光时间 T 内移动距离 c,则模糊图像为 g ( x , y ) = ∫ 0 T f ( x − c t , y ) d t g(x,y) = \int_0^T f(x-ct,y) \, dt g(x,y)=0Tf(xct,y)dt,可据此推出恢复模型。

6. 图像噪声与被噪声污染图像的恢复

  1. 图像噪声
    • 常用图像噪声的概率密度函数
      • 高斯噪声:概率密度函数为 p ( z ) = 1 2 π σ e − ( z − μ ) 2 2 σ 2 p(z) = \frac{1}{\sqrt{2\pi}\sigma} e^{-\frac{(z-\mu)^2}{2\sigma^2}} p(z)=2π σ1e2σ2(zμ)2,源于电子电路噪声和传感器噪声,是白噪声的特例。
      • 瑞利噪声:概率密度函数为 p ( z ) = 2 ( z − a ) b e − ( z − a ) 2 b p(z) = \frac{2(z-a)}{b} e^{-\frac{(z-a)^2}{b}} \\ p(z)=b2(za)eb(za)2,均值为 a + π b 4 a + \sqrt{\frac{\pi b}{4}} \\ a+4πb ,方差为 b ( 4 − π ) 4 \frac{b(4-\pi)}{4} \\ 4b(4π),形成于深度成像、超声波图像。
      • 均匀分布噪声:概率密度函数为 p ( z ) = 1 b − a ( a ≤ z ≤ b ) p(z) = \frac{1}{b-a} \quad (a \leq z \leq b) \\ p(z)=ba1(azb),均值为 a + b 2 \frac{a+b}{2} \\ 2a+b,方差为 ( b − a ) 2 12 \frac{(b-a)^2}{12} 12(ba)2
      • 脉冲噪声(椒盐噪声):双极脉冲噪声概率密度为 P ( z = a ) = P a P(z=a) = P_a \\ P(z=a)=Pa P ( z = b ) = P b P(z=b) = P_b \\ P(z=b)=Pb,形成于快速瞬变、误切换,负脉冲为黑点,正脉冲为白点。
      • 其他噪声:周期噪声(电子或电磁干扰)、指数和 Gamma 分布噪声(激光成像)。
    • 图像噪声的分类
      • 加性噪声:与图像信号相加,独立于图像,表示为 g ( x , y ) = f ( x , y ) + n ( x , y ) g(x,y)=f(x,y)+n(x,y) g(x,y)=f(x,y)+n(x,y)
      • 乘性噪声:与图像信号相乘,幅值与图像灰度有关,表示为 g ( x , y ) = f ( x , y ) + n 1 ( x , y ) g(x,y)=f(x,y)+n_1(x,y) g(x,y)=f(x,y)+n1(x,y),红外图像中的散斑噪声包含乘性和加性成分。
    • 给图像叠加噪声的方法:以加性零均值高斯噪声为例,通过生成随机数计算噪声值并叠加到图像上。
    • 图像的信噪比:定义为 S N R = ∑ x , y f 2 ( x , y ) ∑ x , y [ g ( x , y ) − f ( x , y ) ] 2 SNR = \frac{\sum_{x,y} f^2(x,y)}{\sum_{x,y} [g(x,y)-f(x,y)]^2} SNR=x,y[g(x,y)f(x,y)]2x,yf2(x,y),对数表示为 S N R d B = 10 log ⁡ 10 S N R SNR_{dB} = 10\log_{10} SNR \\ SNRdB=10log10SNR,单位分贝。
  2. 被噪声污染图像的恢复
    • 谐波均值滤波:滤波器为 f ^ ( x , y ) = m n ∑ ( s , t ) ∈ S x y 1 g ( s , t ) \hat{f}(x,y) = \frac{mn}{\sum_{(s,t)\in S_{xy}} \frac{1}{g(s,t)}} f^(x,y)=(s,t)Sxyg(s,t)1mn,善于处理高斯噪声和 “盐” 噪声,不适用于 “胡椒” 噪声。
    • 逆谐波均值滤波:滤波器为 f ^ ( x , y ) = ∑ ( s , t ) ∈ S x y g ( s , t ) Q + 1 ∑ ( s , t ) ∈ S x y g ( s , t ) Q \hat{f}(x,y) = \frac{\sum_{(s,t)\in S_{xy}} g(s,t)^{Q+1}}{\sum_{(s,t)\in S_{xy}} g(s,t)^Q} f^(x,y)=(s,t)Sxyg(s,t)Q(s,t)Sxyg(s,t)Q+1Q 为阶数,适合减少椒盐噪声,Q 正消 “胡椒”,Q 负消 “盐”,Q=−1 退化为谐波均值滤波。
    • 中点滤波:定义为 f ^ ( x , y ) = 1 2 [ max ⁡ ( s , t ) ∈ S x y g ( s , t ) + min ⁡ ( s , t ) ∈ S x y g ( s , t ) ] \hat{f}(x,y) = \frac{1}{2} \left[ \max_{(s,t)\in S_{xy}} g(s,t) + \min_{(s,t)\in S_{xy}} g(s,t) \right] f^(x,y)=21[(s,t)Sxymaxg(s,t)+(s,t)Sxyming(s,t)],对高斯和均匀分布噪声效果好。
    • 自适应中值滤波:基于窗口内图像统计特性,能处理更大冲激噪声,保存细节,优于传统中值滤波。

7. 几何失真的校正

  1. 坐标的几何校正:原图像坐标 (x,y) 与畸变图像坐标 (x′,y′) 的关系为 x′=X(x,y),y′=Y(x,y),线性失真时 X ( x , y ) = a 0 + a 1 x + a 2 y X(x,y)=a_0 +a_1x+a_2y X(x,y)=a0+a1x+a2y Y ( x , y ) = b 0 + b 1 x + b 2 y Y(x,y)=b_0 +b_1x+b_2y Y(x,y)=b0+b1x+b2y,非线性二次失真时包含二次项,通过控制点建立方程组求解待定系数,确定变换模型。
  2. 灰度值恢复:图像恢复中计算出的坐标可能为非整数,需灰度插值,最近邻插值法将非整数坐标点的灰度值取为最近邻整数坐标点的灰度值,步骤为划分四边形区域、确定对应点、建立方程组、映射坐标、选择最近邻点、赋值灰度。

图像压缩编码

1. DCT 变换(离散余弦变换)

  1. 基本概念
    • 定义:DCT(Discrete Cosine Transform)是一种将图像从空间域转换到频率域的变换方法,利用余弦函数的偶对称性,仅涉及实数运算,计算效率高。
    • 优势:变换结果保持频率特性,与人类视觉系统特性适应,应用广泛。
  2. 一维 DCT
    • 延拓:将实数离散序列 f (x) 延拓为以 x=0 为中心的偶对称序列 fs (x)。
    • 正变换公式 F ( u ) = 1 2 K ( u ) ∑ x = 0 M − 1 f ( x ) cos ⁡ ( ( 2 x + 1 ) u π 2 M ) F(u) = \frac{1}{\sqrt{2}} K(u) \sum_{x=0}^{M-1} f(x) \cos\left(\frac{(2x+1)u\pi}{2M}\right) F(u)=2 1K(u)x=0M1f(x)cos(2M(2x+1)uπ)其中, K ( u ) = { 1 2 , u = 0 1 , u = 1 , 2 , … , M − 1 K(u) = \begin{cases} \frac{1}{\sqrt{2}}, & u = 0 \\1, & u = 1, 2, \dots, M-1 \end{cases} K(u)={2 1,1,u=0u=1,2,,M1
    • 反变换公式 f ( x ) = 1 2 ∑ u = 0 M − 1 K ( u ) F ( u ) cos ⁡ ( ( 2 x + 1 ) u π 2 M ) f(x) = \frac{1}{\sqrt{2}} \sum_{u=0}^{M-1} K(u) F(u) \cos\left(\frac{(2x+1)u\pi}{2M}\right) f(x)=2 1u=0M1K(u)F(u)cos(2M(2x+1)uπ)
    • 矩阵表示:以 M=4 为例,正变换矩阵和反变换矩阵分别为特定形式。
  3. 二维偶 DCT
    • 延拓方式:将 N×N 图像数据矩阵围绕左边缘和下边缘延拓成 2N×2N 的偶对称图像。
    • 正变换公式 F ( u , v ) = 2 N K ( u ) K ( v ) ∑ x = 0 N − 1 ∑ y = 0 N − 1 f ( x , y ) cos ⁡ ( ( 2 x + 1 ) u π 2 N ) cos ⁡ ( ( 2 y + 1 ) v π 2 N ) F(u,v) = \frac{2}{N} K(u) K(v) \sum_{x=0}^{N-1} \sum_{y=0}^{N-1} f(x,y) \cos\left(\frac{(2x+1)u\pi}{2N}\right) \cos\left(\frac{(2y+1)v\pi}{2N}\right) F(u,v)=N2K(u)K(v)x=0N1y=0N1f(x,y)cos(2N(2x+1)uπ)cos(2N(2y+1)vπ)
    • 反变换公式 F ( u , v ) = 2 N K ( u ) K ( v ) ∑ x = 0 N − 1 ∑ y = 0 N − 1 f ( x , y ) cos ⁡ ( ( 2 x + 1 ) u π 2 N ) cos ⁡ ( ( 2 y + 1 ) v π 2 N ) F(u,v) = \frac{2}{N} K(u) K(v) \sum_{x=0}^{N-1} \sum_{y=0}^{N-1} f(x,y) \cos\left(\frac{(2x+1)u\pi}{2N}\right) \cos\left(\frac{(2y+1)v\pi}{2N}\right) F(u,v)=N2K(u)K(v)x=0N1y=0N1f(x,y)cos(2N(2x+1)uπ)cos(2N(2y+1)vπ)
    • 计算步骤:延拓、求 DFT、乘因子、取实部、取前 N 项。
  4. 基函数与基图像
    • 二维 DCT 的正、反变换核 Q (x,y,u,v) 称为基函数,对应基图像。当 N=4 时,有 16 个基图像块。

2. 数字图像压缩编码基础

  1. 信息相关
    • 图像像素间存在较强相关性,利用相关性减少冗余可实现压缩。例如,黑白像素序列通过行程编码减少数据量。
  2. 信息冗余
    • 编码冗余:灰度级编码使用多于实际需要的编码符号。
    • 像素间冗余:单个像素信息可通过相邻像素推断,如平滑区域像素值相近。
    • 心理视觉冗余:视觉处理中不重要的信息,如高频细节对视觉贡献小。
  3. 信源编码及其分类
    • 目标:在满足图像质量条件下,用最少比特数表示图像,减少存储和提高传输效率。
    • 分类:
      • 无失真编码(无损压缩):不引入失真,如霍夫曼编码。
      • 有失真编码(有损压缩):在一定比特率下获得最佳保真度,如 JPEG 压缩。

3. 图像编码模型

  1. 系统模型:包括信源编码器、信道编码器、信道、信道解码器、信源解码器。
  2. 信道编码与汉明编码
    • 汉明编码:线性错误检测与纠正码,添加校验位检测并纠正单比特错误。
    • 编码步骤:以 4bit 数据为例,生成 7 位汉明码,通过奇偶校验位覆盖数据位。
    • 解码步骤:计算校验字,非零表示有错误,翻转对应位纠正。

4. 数字图像的信息熵

  1. 信息熵定义:信源符号集 X 的熵 H ( X ) = − ∑ P ( x i ) log ⁡ 2 P ( x i ) H(X) = -\sum P(x_i) \log_2 P(x_i) H(X)=P(xi)log2P(xi),单位为 bit / 符号,表示信源的平均信息量。
  2. 与平均编码长度关系:熵是编码所需比特数的下限,非均匀分布时可通过变长编码减少平均码长。
  3. 数字图像信息熵:对于灰度级分布为 X={0,1,…,L-1} 的图像,熵 H = − ∑ i = 0 L − 1 p i log ⁡ 2 p i H = -\sum_{i=0}^{L-1} p_i \log_2 p_i H=i=0L1pilog2pi,其中p**i为灰度级 i 的概率。

5. 几种基本的变长编码方法

  1. 费诺码
    • 编码步骤:按概率非递增排列符号,分组使概率和相等或相近,每组赋值 0 或 1,直至每个符号独立。
    • 实例:对概率分布为 {0.25,0.125,0.0625,…} 的符号集编码,计算平均码长。
  2. 霍夫曼编码
    • 编码步骤:按概率递减排列符号,合并最小概率的两个符号,赋值 0 和 1,重复直至概率和为 1,逆序路径得编码。
    • 优点:平均码长最短,当概率为 2 的指数时达到熵下限。
    • 应用:创建编码表,对信源符号流编码,如国际传真标准。
  3. 算术编码
    • 原理:将信源符号序列映射到 [0,1) 区间的子区间,子区间宽度为序列概率,用区间内实数表示序列。
    • 步骤:建立概率模型,分割区间,最终得到码字,如对序列 a1a2a2a3a4 编码。

6. 位平面编码

  1. 位平面分解:将 m 位灰度图像分解为 m 个二值位平面,每个平面由同一比特位组成,如 8 位图像分解为 8 个平面。
  2. 格雷码分解编码
    • 问题:二进制码分解时相邻像素值小变化可能导致所有位平面突变,降低相关性。
    • 解决:用格雷码分解,相邻格雷码只有一位不同,保持相关性。
    • 转换公式:格雷码 g i = x i ⊕ x i + 1 ( i 从  m − 2 到  0 ) g_i = x_i \oplus x_{i+1} \quad (i \text{ 从 } m-2 \text{ 到 } 0) gi=xixi+1(i  m2  0) g m − 1 = x m − 1 g_{m-1} = x_{m-1} gm1=xm1

7. 游程编码

  1. 一维游程编码
    • 概念:相同灰度值的连续像素序列为游程,长度为游长,编码存储灰度值 + 游长。
    • 国际标准:CCITT T.4(G3)采用一维游程编码,游长分为终止码(0-63)和形成码(>63)。
  2. 二维游程编码:基于相对地址编码,利用行间像素相关性,对黑白过渡点位置编码。

8. 图像质量评价 —— 保真度准则

  1. 主观评价方法:观察者对解压缩图像质量评分,如 5 分制(优秀、良好、可用、差、不能用)。
  2. 客观保真度准则
    • 均方误差(MSE) M S E = 1 M N ∑ x = 0 M − 1 ∑ y = 0 N − 1 [ f ( x , y ) − f ^ ( x , y ) ] 2 MSE = \frac{1}{MN} \sum_{x=0}^{M-1} \sum_{y=0}^{N-1} [f(x,y) - \hat{f}(x,y)]^2 MSE=MN1x=0M1y=0N1[f(x,y)f^(x,y)]2
    • 均方信噪比(SNRms) S N R m s = 10 log ⁡ 10 ∑ x = 0 M − 1 ∑ y = 0 N − 1 f ( x , y ) 2 ∑ x = 0 M − 1 ∑ y = 0 N − 1 [ f ( x , y ) − f ^ ( x , y ) ] 2 SNR_{ms} = 10 \log_{10} \frac{\sum_{x=0}^{M-1} \sum_{y=0}^{N-1} f(x,y)^2}{\sum_{x=0}^{M-1} \sum_{y=0}^{N-1} [f(x,y) - \hat{f}(x,y)]^2} SNRms=10log10x=0M1y=0N1[f(x,y)f^(x,y)]2x=0M1y=0N1f(x,y)2
    • 峰值信噪比(PSNR) P S N R = 10 log ⁡ 10 25 5 2 M S E PSNR = 10 \log_{10} \frac{255^2}{MSE} PSNR=10log10MSE2552,典型值 30-40dB,越高越好。

彩色图像处理

1. 彩色视觉基础

  1. 三基色原理

    • 定义:自然界中绝大多数颜色可由红(R,700nm)、绿(G,546.1nm)、蓝(B,435.8nm)三种基色组合或分解而成。

    • 相加混色:三基色按不同比例相加得到新颜色。

      • 混色结果:

        • 红 + 蓝 = 品红,红 + 绿 = 黄,绿 + 蓝 = 青,红 + 绿 + 蓝 = 白。
        • 二次色:由两基色相加得到的颜色(如品红、黄、青)。
      • 补色关系:红与青、绿与品红、蓝与黄互为补色(相加为白)。

      • 应用:电视、显示器、录像等。

    • 相减混色:通过颜料或染料吸收光实现,基色为青(C)、品红(M)、黄(Y)。

      • 混色结果:

        • 白 - 红 = 青,白 - 绿 = 品红,白 - 蓝 = 黄,白 - 红 - 绿 - 蓝 = 黑。
      • 应用:印刷、绘画、彩色胶片制作等。

  2. CIE 色度图

    • 颜色特性

      • 亮度:颜色的明亮程度,与白 / 黑掺入量相关。

      • 色调:描述纯色(如红、黄),反映主要颜色属性。

      • 饱和度:纯色被白光稀释的程度,纯色为全饱和,白光加入后饱和度降低。

      • 色度图结构
        • 舌形边界表示 380nm(紫)到 700nm(红)的纯色,内部点为混合色。
        • 中心等能量点饱和度为 0(白光),边界到中心表示纯度降低。
        • 两点连线表示颜色混合比例变化,等能量点到边界直线表示色调变化。

2. 彩色模型

  1. RGB 模型

    • 原理:基于三基色相加混色,通过 R、G、B 分量(0-255)组合表示颜色。

    • 空间表示:三维立方体,顶点对应纯色(如红 (255,0,0)、白 (255,255,255)),对角线为灰度值。

    • 应用:显示器、摄像机等硬件设备。

  2. HSI 模型

    • 原理:符合人眼视觉特性,分为色调(H)、饱和度(S)、亮度(I)。

      • H:角度值(0° 为红,120° 为绿,240° 为蓝),反映颜色类别。

      • S:0(灰)到 1(纯),表示颜色纯度。

      • I:0(黑)到 1(白),表示整体亮度。

      • 模型结构:圆形平面(H-S)与亮度轴(I)构成圆柱体,顶部为白光,底部为黑。
  3. RGB 与 HSI 转换

    • RGB 转 HSI

      • 亮度: I = R + G + B 3 I = \frac{R+G+B}{3} I=3R+G+B
      • 饱和度: S = 1 − 3 × min ⁡ ( R , G , B ) R + G + B S = 1 - \frac{3 \times \min(R,G,B)}{R+G+B} S=1R+G+B3×min(R,G,B)
      • 色调: θ = arccos ⁡ [ 0.5 [ ( R − G ) + ( R − B ) ] ( R − G ) 2 + ( R − B ) ( G − B ) ] \theta = \arccos\left[\frac{0.5[(R-G)+(R-B)]}{\sqrt{(R-G)^2+(R-B)(G-B)}}\right] θ=arccos[(RG)2+(RB)(GB) 0.5[(RG)+(RB)]],根据 B 与 G 的大小调整 H 值。
    • HSI 转 RGB:分 H 的三个区间(0°-120°、120°-240°、240°-360°)使用不同公式计算 R、G、B。

  4. 其他模型

    • CMYK 模型:印刷用减色模型,基色为青(C)、品红(M)、黄(Y)、黑(K),通过油墨叠加实现颜色。

    • YUV 模型:电视信号传输模型,Y 为亮度,U、V 为色差信号,兼容黑白与彩色电视。

3. 彩色变换

  1. 反色变换

    • 原理:将 RGB 各分量取反,公式为: g R ( x , y ) = 255 − f R ( x , y ) , g G ( x , y ) = 255 − f G ( x , y ) , g B ( x , y ) = 255 − f B ( x , y ) g_R(x,y) = 255 - f_R(x,y), \quad g_G(x,y) = 255 - f_G(x,y), \quad g_B(x,y) = 255 - f_B(x,y) gR(x,y)=255fR(x,y),gG(x,y)=255fG(x,y),gB(x,y)=255fB(x,y)

    • 效果:颜色变为补色(如红变青,绿变品红)。

  2. 灰度化处理

    • 最大值法:取 R、G、B 中的最大值作为灰度值。

    • 平均值法:计算 R、G、B 的算术平均值。

    • 加权平均法:按人眼敏感度加权,常用公式: G r a y = 0.299 R + 0.587 G + 0.114 B Gray = 0.299R + 0.587G + 0.114B Gray=0.299R+0.587G+0.114B

4. 彩色图像增强

  1. 真彩色增强(HSI 模型)

    • 亮度增强:对 I 分量应用灰度增强算法(如对比度拉伸、直方图均衡)。

    • 色调增强:调整 H 分量(加减常数,沿色环旋转颜色)。

    • 饱和度增强:缩放 S 分量(乘大于 1 的常数使颜色更鲜明,乘小于 1 的常数使颜色变淡)。

  2. 伪彩色增强(灰度图转彩色)

    • 密度分层法:将灰度区间映射为不同颜色,适用于突出特定灰度范围。
    • 灰度级 - 彩色变换法:对灰度值应用三个独立变换,映射为 R、G、B 分量,颜色范围更广。
    • 频率滤波法:对傅立叶变换后的频率分量滤波,逆变换后映射为彩色,与空间频率相关。
  3. 假彩色增强

    • 原理:从原彩色图像或多光谱图像生成新彩色图像,不反映真实色彩,用于突出细节或遥感分析。

    • 方法:线性坐标变换,如 [ G R G G G B ] = [ k 11 k 12 k 13 k 21 k 22 k 23 k 31 k 32 k 33 ] [ f R f G f B ] \begin{bmatrix}G_R \\ G_G \\ G_B\end{bmatrix} = \begin{bmatrix}k_{11} & k_{12} & k_{13} \\ k_{21} & k_{22} & k_{23} \\ k_{31} & k_{32} & k_{33}\end{bmatrix}\begin{bmatrix}f_R \\ f_G \\ f_B\end{bmatrix} GRGGGB = k11k21k31k12k22k32k13k23k33 fRfGfB

5. 彩色图像平滑

  1. 基于 RGB 模型

    • 步骤:提取 R、G、B 分量,分别应用灰度平滑算法(如均值滤波),再合成彩色图像。

      • 公式: Y ( x , y ) = 1 M ∑ ( i , j ) ∈ S x y f ( i , j ) Y(x,y) = \frac{1}{M} \sum_{(i,j) \in S_{xy}} f(i,j) Y(x,y)=M1(i,j)Sxyf(i,j),其中 f ( i , j ) f(i,j) f(i,j)为 RGB 向量。
  2. 基于 HSI 模型

    • 仅对 I 分量平滑,避免 H、S 分量混合导致颜色失真。

6. 彩色图像锐化

  1. 基于 RGB 模型

    • 对 R、G、B 分量应用拉普拉斯算子: ∇ 2 f ( x , y ) = [ ∇ 2 f R ∇ 2 f G ∇ 2 f B ] \nabla^2 f(x,y) = \begin{bmatrix}\nabla^2 f_R \\ \nabla^2 f_G \\ \nabla^2 f_B\end{bmatrix} 2f(x,y)= 2fR2fG2fB
  2. 基于 HSI 模型

    • 对 I 分量锐化,保持 H、S 不变,避免颜色变化。

7. 彩色图像边缘检测

  1. Di Zenzo 算法

    • 基于向量函数,定义梯度向量 u \mathbf{u} u v \mathbf{v} v,计算点积 g x x , g y y , g x y g_{xx}, g_{yy}, g_{xy} gxx,gyy,gxy

    • 最大变化率方向: θ ( x , y ) = 1 2 arctan ⁡ ( 2 g x y g x x − g y y ) \theta(x,y) = \frac{1}{2} \arctan\left(\frac{2g_{xy}}{g_{xx}-g_{yy}}\right) θ(x,y)=21arctan(gxxgyy2gxy)

    • 梯度幅值: F ( x , y ) = λ 1 cos ⁡ 2 θ + λ 2 sin ⁡ 2 θ F(x,y) = \sqrt{\lambda_1 \cos^2\theta + \lambda_2 \sin^2\theta} F(x,y)=λ1cos2θ+λ2sin2θ ,其中 λ 1 , λ 2 \lambda_1, \lambda_2 λ1,λ2为特征值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.tpcf.cn/web/87747.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux chrome浏览器打不开了

报错信息 通过terminal执行google-chrome [12714:12714:0706/223620.723519:ERROR:chrome/browser/process_singleton_posix.cc:358] The profile appears to be in use by another Google Chrome process (54949) on another computer (192.168.0.17). Chrome has locked t…

Python:模块

一、Python模块基础概念 1. 什么是Python模块&#xff1f; 在 Python 中&#xff0c;模块&#xff08;Module&#xff09; 是一个包含 Python 代码的文件&#xff08;扩展名为 .py&#xff09;&#xff0c;用于组织代码、实现功能复用和命名空间管理。模块可以包含变量、函数…

C 语言指针与作用域详解

一、指针基础概念 &#xff08;一&#xff09;指针的本质 指针是 C 语言中一个重要的概念&#xff0c;其本质是内存地址。在计算机内存中&#xff0c;每个字节都有唯一的编号&#xff0c;这个编号就是我们所说的内存地址&#xff0c;而指针变量就是用于存储这些内存地址的变量…

解锁阿里云ACK:开启Kubernetes容器化应用新时代

引言&#xff1a;云原生时代下的 ACK 在当今数字化飞速发展的时代&#xff0c;云原生技术正以前所未有的速度改变着软件开发和部署的格局。随着企业对应用敏捷性、弹性扩展以及成本优化的需求日益增长&#xff0c;云原生已成为众多企业实现数字化转型的关键路径。在云原生的技…

【C++基础】内存管理四重奏:malloc/free vs new/delete - 面试高频考点与真题解析

在 C/C 编程中&#xff0c;内存管理是核心基础技能&#xff0c;而malloc/free和new/delete作为两套内存分配释放机制&#xff0c;是面试中高频出现的考点。 一、内存管理的 "双生花"&#xff1a;基础概念解析 1.1 malloc/free&#xff1a;C 语言的内存管家 malloc全…

Dify+Ollama+QwQ:3步本地部署,开启AI搜索新篇章

如何来评价本地化部署的价值与优势分析&#xff1a; 成本优化与隐私保障 自定义搜索插件&#xff0c;告别信息过载 一键生成报告、分析&#xff0c;效率翻倍&#xff01; 接下来我们就尝试跟随来部署本地的价值所在! 1&#xff1a;安装Ollama & 部署QwQ模型 1.1 安装O…

FAISS 简介及其与 GPT 的对接(RAG)

什么是 FAISS&#xff1f; FAISS (Facebook AI Similarity Search) 是 Facebook AI 团队开发的一个高效的相似性搜索和密集向量聚类的库。它主要用于&#xff1a; 大规模向量相似性搜索高维向量最近邻检索向量聚类 https://github.com/facebookresearch/faissFAISS 特别适合处理…

【Apache Doris 深度实战:从 MPP 架构到实时分析,解锁三大数据模型的性能优化秘籍】

一、安装部署 安装教程&#xff1a;GitHub地址 Doc文档&#xff1a;Apache Doris 简介 - Apache Doris 二、功能及作用 Apache Doris 是一款基于MPP 架构的高性能、实时分析型数据库。它以高效、简单和统一的特性著称&#xff0c;能够在亚秒级的时间内返回海量数据的查询结果…

MySQL主从复制与读写分离概述

前言&#xff1a; 在数据驱动的现代应用中&#xff0c;数据库面临高并发读写与海量存储的双重挑战。单一数据库实例在性能、可用性及扩展性上逐渐成为瓶颈。MySQL主从复制&#xff08;Master-Slave Replication&#xff09;与读写分离&#xff08;Read/Write Splitting&#xf…

数据库-元数据表

1. 什么是元数据表元数据&#xff1a;数据的数据&#xff0c;用以描述数据的信息也是数据&#xff0c;被称为元数据2. 获取元数据的方法MySQL提供了以下三种方法用于获取数据库对象的元数据&#xff1a;show语句从INFORMATION_SCHEMA数据库里查询相关表&#xff08;information…

【STM32】通用定时器PWM

STM32 通用定时器 PWM 输出完全解析&#xff08;以 TIM3_CH1 为例&#xff09; PWM 输出基本原理 PWM&#xff08;Pulse Width Modulation&#xff09;即脉冲宽度调制&#xff0c;是由定时器通过比较 CNT 与 CCR 寄存器实现的。 信号产生原理&#xff1a; ARR 决定周期&#…

python学习打卡:DAY 21 常见的降维算法

知识点回顾&#xff1a; LDA线性判别PCA主成分分析t-sne降维 还有一些其他的降维方式&#xff0c;也就是最重要的词向量的加工&#xff0c;我们未来再说 浙大疏锦行

基于SpringBoot和Leaflet集成在线天气服务的区县当前天气WebGIS实战

目录 前言 一、需求描述 1、功能需求 2、技术实现流程 二、SpringBoot后台实现 1、控制层实现 2、区县数据返回 三、WebGIS前端实现 1、区位信息展示 2、天气信息展示 四、成果展示 1、魔都上海 2、蜀地成都 3、湖南桂东 五、总结 前言 在当今数字化时…

文心开源:文心大模型4.5系列全面开放,AI普惠时代加速到来

一场由4240亿参数模型领衔的开源盛宴&#xff0c;正在重塑中国AI生态的底层逻辑 2025年6月30日&#xff0c;百度如约宣布全面开源其旗舰产品——文心大模型4.5系列。一次性开源10款模型&#xff0c;覆盖从4240亿参数的MoE多模态巨无霸到轻巧的0.3B端侧模型&#xff0c;并同步开…

【运算放大器专题】基础篇

1.1 运算放大器是放大了个寂寞吗&#xff1f;—初识运算放大器 为了解决震荡问题&#xff0c;人为加了一些补偿网络之后导致的高频特性差 1.2欧姆定律和独立源 1正弦2方波3脉冲 电压源是平行于i轴的横线 1.3有伴源和运放缓冲器 有伴指的是有电阻&#xff0c;有伴是坏事&#…

英伟达 jetson nano 从NFS启动,使用英伟达提供的rootfs根文件系统

0、目标 为了方便驱动阶段的开发&#xff0c;并且使用英伟达提供的上层应用&#xff0c;这里希望使jetson nano 从NFS启动&#xff0c;同时使用英伟达提供的rootfs根文件系统。 1、硬件准备 确保jetson nano 板子和开发主机之间使用网线进行连接&#xff08;保持板子和开发主…

广州华锐互动:以创新科技赋能教育,开启沉浸式学习​

在教育领域&#xff0c;广州华锐互动致力于打破传统教学的局限性&#xff0c;为师生们带来全新的沉浸式学习体验。广州华锐互动通过开发 VR 虚拟教学课件&#xff0c;将抽象的知识转化为生动、逼真的虚拟场景&#xff0c;让学生能够身临其境地感受知识的魅力 。比如在历史课上&…

Grok 4 最新技术评测与发布指南

TL;DR&#xff1a;马斯克跳过Grok 3.5直接发布Grok 4&#xff0c;计划在7月4日后上线&#xff0c;专注编程模型优化&#xff0c;这次"极限迭代"能否让马斯克在AI军备竞赛中翻盘&#xff1f; &#x1f4cb; 文章目录 &#x1f680; Grok 4发布概况&#x1f3c6; Grok…

为什么音视频通话需要边缘加速

⏩ 主要原因 ✅ 降低传输延迟 用户与边缘节点之间通常1-2跳即可完成连接&#xff0c;避免跨国、跨运营商长链路传输 保障音视频信令、媒体流快速到达&#xff0c;控制端到端延迟 ✅ 提升弱网环境下的连接稳定性 边缘节点具备链路优化、丢包补偿、转发中继功能 即使在WiFi切…

小架构step系列05:Springboot三种运行模式

1 概述 前面搭建工程的例子&#xff0c;运行的是一个桌面程序&#xff0c;并不是一个Web程序&#xff0c;在这篇中我们把它改为Web程序&#xff0c;同时从启动角度看看它们的区别。 2 Web模式 2.1 桌面例子 回顾一下前面的例子&#xff0c;其pom.xml的配置如下&#xff1a;…