第一章 绪论

  • 1.数字图像:
    一幅图像可定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,而在任何一对空间坐标(x, y)处的幅值f称为图像在该点处的强度或灰度。当x, y和灰度值f是有限的离散数值时,我们称该图像为数字图像。

  • 2.数字图像处理:
    是指借助于数字计算机来处理数字图像。

  • 3.像素:
    数字图像是由有限数量的(二维的)元素组成的,每个元素都有一个特定的位置(x,y)和幅值f(x,y)。这些元素称为图画元素、图像元素或像素

  • 4.图像增强:
    对一幅图像进行某种操作,使其结果在特定应用中比原始图像更适合进行处理

  • 5.图像复原:
    图像复原也是改进图像外观的一个处理领域。然而,与图像增强不同,图像增强是主观的,而图像复原是客观的;;在某种意义上说,复原技术倾向于以图像退化的数学或概率模型为基础。另一方面,增强以什么是好的增强效果这种人的主观偏爱为基础。

  • 6.图像处理系统基本组成结构:图像数字化设备(数码相机、数码摄像机)、图像处理设备(计算机和存储系统)、图像输出设备(打印机)

  • 7.图像存储系统:
    (1)图像文件格式体系:
    互联网用:GIF、JPG
    印 刷 用:TIF、JPG、TAG 、PCX
    国际标准:TIF、JPG、BMP
    (2)图像存储体系:(分级存储)
    内存存储: 处理时使用
    硬盘存储:处理、备份时用
    备份存储:光盘、磁带
    网络存储:SAN、 NAS

  • 8.数字图像处理应用领域:传统领域(医学、地理学、生物学、军事);最新领域(指纹识别、人脸识别、图像检索等)

第二章 数值图像基础

两个名词解释

  • 1.为了产生一幅数字图像,需要把连续的感知数据转化为数字形式,这包括两种处理:取样和量化

  • 2.取样:图像空间坐标的数字化;(对坐标值进行数字化)
    量化:图像函数值(灰度值的数字化;(对幅值进行数字化)

  • 3.非统一的图像的采样
    在灰级变化尖锐的区域,用细腻的采样,
    在灰度级比较平滑的区域,用粗糙的采样

  • 4.非统一的图像的量化
    ✓ 在边界附近(灰度级变化尖锐)使用较少的灰度级。剩余的灰度级可用于灰度级变化比较平滑的区域
    ✓ 避免或减少由于量化的太粗糙,在灰度级变化比较平滑的区域出现假轮廓的现象

  • 5.通常,图像在任何坐标(x,y)处的值记为f(x,y),其中x和y都是整数。由一幅图像的坐标张成的实平面部分称为空间域,x和 y称为空间变量或空间坐标

  • 6.灰度跨越的值域非正式地称为动态范围

  • 7.空间分别率:图像中可辨别的最小细节的度量,其中每单位距离线对数和每单位距离点数(像素数)都是最通用的度量。
    灰度分别率:可分辨的最小灰度级变化。

  • 8.数字图像的表示包括:图像描述信息(如图像高度和宽度)、图像数据(顺序存放的连续数据)

  • 9.图像的质量包括:层次、对比度、清晰度
    (1)层次:图像实际拥有的灰度级的数量(灰度级:表示像素明暗程度的整数量) 图像的实际层次越多,视觉效果就越好。
    (2)对比度:一幅图像中灰度反差的大小(对比度=最大亮度/最小亮度)
    (3)与清晰度相关的主要因素:亮度、对比度、尺寸大小、细微层次、颜色饱和度

  • 10.4邻域:像素p(x,y)的4邻域是: (x+1,y);(x-1,y);(x,y+1);(x,y-1)。用N4(p)表示像素p的4邻域

    D邻域定义:像素p(x,y)的D邻域是对角上的点 (x+1,y+1);(x+1,y-1);(x-
    1,y+1);(x-1,y-1)
    用ND(p)表示像素p的D邻域

    8邻域定义:像素p(x,y)的8邻域是:
    4邻域的点 + D邻域的点
    用N8(p)表示像素p的8邻域。 N8(p) = N4(p) + ND(p)

  • 10.连通性:是描述区域和边界的重要概念。
    两个像素连通的两个必要条件是:(1)两个像素位置是否相邻;(2)两个像素的灰度值是否满足特定的相似性准则(或者是否相等)

  • 11.像素的连通性:
    (1)4连通:对于具有值V的像素p和q,如果q在集合N4(p)中,则称这两个像素是4 连通的
    (2)8连通:对于具有值V的像素p和q,如果q在 集 合N8(p)中,则称这两个像素是8连通的
    (3)对 于 具 有 值 V 的 像 素 p 和 q ,
    如 果
    I.q在集合N4(p)中,或
    II. q在集合ND(p)中,并且N4(p)与N4(q)的交集为空(没有值V的像素) 则称这两个像素是m连通的,即4连通和D连通的混合连通。

  • 12.像素p(x,y)和q(s,t)间的欧式距离:
    image-20210623151831018

对于这个距离计算法,具有与(x,y) 距离小于等于某个值r的像素是:包含在以(x,y)为圆心,以r为半径的圆平面

  • 13.像素p(x,y)和q(s,t)之间的D4距离(城市距离、街区距离):
    image-20210620200645833
    具有与(x,y)距离小于等于某个值r的那些像素形成一个菱形

  • 14.q(s,t)之间的D8距离(棋盘距离):
    image-20210620200655280
    具有与(x,y)距离小于等于某个值r的那些像素形成一个正方形

第三章 灰度变换和空间滤波

两个名词解释+一个简答 +程序

  • 1.图像增强分为两类:
    (1)空间域处理:对图像像素直接处理
    (2)频率域处理:修改图像的傅里叶变换
    2.灰度变换函数:g(x,y)=T[f(x,y)] 或 s = T(r)

  • 3.一些基本的灰度变换函数:
    (1)反转变换:s = (L-1) - r
    作用:黑的变白,白的变黑(特别适合用于增强嵌入在一幅图像暗区域中的白色或灰色细节,特别是当黑色面积在尺寸上占主导时)
    (2)对数变换:s = c log(1+r)
    有时原图的动态范围太大,超出某些显示设备的允许动态范围,如直接使用原图,则一部分细节可能丢失, 解决办法是对原图进行灰度压缩,如对数变换

    作用:灰度压缩/扩展,对数函数有个重要特征,即它能压缩像素值变化较大的图像的动态范围。

(3)幂次变换:s = c ^r^

γ<1 提高灰度级,在正比函数上方,使图像变亮
γ>1 降低灰度级,在正比函数下方,使图像变暗

  • 4.直方图的定义:h(rk)= nk p(rk)= nk/n
    第二种定义的好处:
    ✓ 使函数值正则化到[0,1]区间,成为实数函数 ;
    ✓ 函数值的范围与像素的总数无关 ;
    ✓ 给出灰度级rk在图像中出现的概率密度统计

  • 补充:

    • 暗图像:直方图的分量集中在灰度级的低端
    • 亮图像:直方图的分量集中在灰度级的高端
    • 低对比度图像:具有较窄的直方图,且集中在灰度级的中部
    • 高对比度图像:具有较宽的直方图,直方图的分量覆盖了很宽的灰度级范围,且像素没有分布不均匀
  • 5.直方图的均衡化:基本思想是把原始图的直方图变换为均匀分布的形式,这样就增加了像素灰度值的动态范围,从而达到增强图像整体对比度的效果

  • 6.直方图均衡化公式:s=T(r) 0<=r<=1
    T(r)满足下列两个条件:
    (1)T(r)在区间0≤r≤1中为单值且单调递增
    (2)当0≤r≤1时,0≤T(r)≤1

    条件(1)保证输出灰度不少于相应的输入灰度,防止灰度反变换时产生的人为缺陷

    条件(2)保证灰度的输出范围与输入范围一致,且是一对一的映射关系,防止二义性

  • 7.对于连续灰度值:image-20210620201010302
    对于离散灰度值:image-20210620201019248
    (P76 【例3.5】!)

  • 8.直方图规定化:希望处理后的图像具有规定的直方图形状,这种用于产生处理后有特殊直方图的方法,称为直方图匹配或直方图规定化。
    (P80 【例 3.8】)

  • 9.镜头检测方法:连续帧相减、直方图相减、时空切片分析

  • 10.镜头:是指一系列连续记录的图像帧,用于表示一个时间段或相同地点连续的动作。

  • 11.连续帧相减:
    (1)算法原理:计算相邻两帧像素变化的数目。当超过设定的阈值时,即找到镜头的边缘。
    (2)缺点:对摄像机运动敏感,如放缩、平移
    (3)解决办法:通过滤波器的使用来降低。在比较一帧的每个像素前,用它的邻近区域的平均值来代替,这也就过滤了输入图像的一些噪声。

  • 12.直方图相减
    (1)算法原理:统计相邻两帧中所有像素在不同灰度上的分布差异,当差异的累加值超过阈值T时,即检测到镜头边缘。
    (2)优点:对对象运动不敏感,因为直方图忽略了帧内的空间变化。
    (3)缺点:可能两个图像有类似的直方图但却是完全不同的内容。然而这种事件概率是足够低的。

  • 13.空间滤波和空间滤波器的定义 使用空间模板进行的图像处理,被称为 空间滤波。模板本身被称为空间滤波器(空间滤波器:邻域与预操作的集合)

  • 14.
    image-20210620201142147

其中w是滤波器系数,z是该系数对应的图像灰度值。

  • 15.平滑空间滤波器:
    (1)线性滤波器:均值滤波器
    (2)非线性滤波器:最大值滤波器、中值滤波器、最小值滤波器

  • 16.均值滤波器:包含在滤波器邻域内像素的平均值 (用像素领域内的平均值代替该像素)
    作用:减小图像灰度的“尖锐”变化,减小噪声;边缘模糊
    公式:image-20210620201443661

  • 17.统计排序滤波器:
    是一种非线性滤波器,基于滤波器所在图像区域中像素的排序,由 排序结果决定的值代替中心像素的值

(1)中值滤波器:用像素领域内的中间值代替该像素
①用途:去除噪声
②公式:R = mid {zk | k = 1,2,…,n}

特点:在去除噪音的同时,可以比较好地保留边的锐度图像的细节(优于均值滤波器)
能够有效去除脉冲噪声:以黑白点叠加在图像上

(2)最大值滤波器:用像素领域内的最大值代替该像素
①用途:寻找最亮点
②公式:R = max {zk | k = 1,2,…,n}

(3)最小值滤波器:用像素领域内的最小值代替该像素
①用途:寻找最暗点
②公式:R = min {zk | k = 1,2,…,n}

  • 18.锐化滤波器的应用:
    突出图像中的细节,增强被模糊了的细节
    ✓ 印刷中的细微层次强调。弥补扫描对图像的钝化
    ✓ 超声探测成像,分辨率低,边缘模糊,通过锐化来改善
    ✓ 图像识别中,分割前的边缘提取
    ✓ 锐化处理恢复过度钝化、暴光不足的图像
    ✓ 尖端武器的目标识别、定位

  • 19.二阶微分滤波器–拉普拉斯算子
    imgimg

  • 20.一阶微分滤波器–梯度算子

img

img

img

第六章 彩色图像处理

  • 1.为什么要研究彩色图像处理?
    (1)符合人类视觉特点:人类可以辨别几千种彩色色调和亮度;但相比之下只能辨别几十种灰度层次
    (2)强有力的描绘子:常常可以简化从场景中提取和识别目标

  • 2.彩色图像处理分为:全彩色图像处理、伪彩色图像处理

  • 3.三原色:红、绿、蓝
    二次色: 红+蓝=深红M 红+绿=黄Y 绿+蓝=青色C

  • 4.描述彩色光源质量的三个基本量:
    (1)辐射(率):从光源流出能量的总和,用瓦特(W)度量
    (2)光强:观察者从光源感知的(接收的)能量总和,用流明来度量
    (3)亮度:主观描绘子。实际上是不可能度量的,用来表示无色的强度概念。

  • 5.用于区分不同颜色特性的基本量:
    (1)亮度:具体表达了无色的强度概念
    (2)色调:是混合光波中与主波长有关的属性,表明观察者感知的主要颜色
    (3)饱和度:指的是相对纯净度,或一种颜色混合白光的数量。纯谱色是全饱和的。

  • 6.彩色模型(彩色空间、彩色系统)
    在某些标准下,用通常可以接收的方式方便地对彩色加以说明。本质上是对坐标系统子空间的说明。

    现在大多数的彩色模型不是面向硬件的,就是面向应用的。

  • 7.RGB(红绿蓝模型)
    (1)用于彩色监视器和一大类彩色视频摄像机;
    (2)是图像成像、显示、打印等设备的基础
    (3)面向硬件

  • 8.CMY和CMYK(青、深红、黄、黑)
    (1)用于彩色打印机复印机
    (2)为什么用CMYK:等量的CMY原色产生黑色,但不纯

  • 9.HSI(色调、饱和度、亮度)
    (1)特点:
    ①I(亮度)分量与图像的彩色信息无关(解除分量中灰度I和颜色HS的联系)
    ②H和S分量与人感受颜色的方式是紧密联系的
    (2)应用于计算机视觉、图像检索、视频检索

  • 10.彩色空间转换

    image-20210623221945843

  • 11.什么叫伪彩色图像处理?

    也叫假彩色图像处理,根据一定的准则对灰度值赋予彩色的处理

    为什么需要伪彩色图像处理?

    人类可以辨别几千种彩色色调和亮度;但相比之下只能辨别几十种灰度层次
  • 12.怎样进行伪彩色图像处理?

    强度(强度)分层技术灰度级到彩色的转换
  • 13.全彩色图像处理分类
    (1)分别处理每一分量,然后合成彩色图像
    (2)直接对彩色像素处理

  • 14补色:在彩色环上,与一种的色调H直接相对立的另外一种色调

第八章 图像压缩

  • 1.为什么需要图像压缩?
    (1)图像的数据量通常很大,对存储、处理和传输带来许多问题
    (2)不断扩大的图像应用

  • 2.图像压缩分类
    (1)无损压缩:在压缩和解压缩过程中没有信息损失
    (2)有损压缩:能取得较高的压缩率,但压缩后不能通过解压缩恢复原状

  • 3.压缩方法:预测编码方法、变换编码方法

  • 4.数据冗余:
    数据是用来表示信息的。如果不同的方法为表示给定量的信息使用了不同的数据量,那么使用较多数据量的方法中,有些数据必然是代表了无 用的信息,或者是重复地表示了其它数据已表示的信息,这就是数据冗余的概念

  • 5.公式(相对数据冗余与压缩率的关系)

    imgimg

  • 6.三种基本的数据冗余
    (1)编码冗余
    如果一个图像的灰度级编码,使用了多于实际需要的编码符号,就称该图像包含了编码冗余
    (2)像素间冗余
    对于一幅图像,很多单个像素对视觉的贡献是冗余的。它的值可以通过与它相邻的像素值为基础进行预测
    (3)心理视觉冗余
    有些信息在通常的视觉过程中通常的视觉过程中与另外一些信息相比并不那么重要,这些信息被认为是心理 视觉冗余的,去除这些信息并不会明显降低图像质量

  • 7.保真度准则:
    图像压缩可能会导致信息损失,需要有评价信息损失的测度,以描述解码图像相
    对于原始图像的偏离程度,这些测度称为保真度准则(量化信息丢失的本质的方法)
    (1)均方根误差

    img

    (2)均方信噪比

    img

  • 8.图像压缩系统的功能流程图

img

  • 9.图像压缩系统模型(简)

编码器:img

解码器:img

转换器(映射器):减少像素间冗余 量化器:减少心理视觉冗余,该步操作不可逆 符号编码器:减少编码冗余

(进行无损压缩时,去掉量化器)

  • 10.信源的熵:
    每个信源输出的平均信息。

img

  • 11.变长编码:
    (1)减少编码冗余
    (2)变长编码,即把最短的码字赋予给出现概率最大的灰度级

  • 12.霍夫曼编码(步骤)
    (1)第一步:将所有需要考虑的符号进行概率排序,并将最低概率的符号合并为一个符号来替代下次信源化简过程中的符号,从而创建一个信源化简系统;
    (2)第二步:对每个化简后的信源进行编码,从小的信源开始一直编码到原始信源。
    (3)P346 【例】

  • 13.LZW编码(消除像素间冗余/空间冗余)
    将原始数据中的重复字符串建立一个字串表,然后用该重复字串在字串表中的索引替代原始数据达到压缩的目的。
    P351

程序

  • 补色和反色
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import numpy as np
import cv2

im = cv2.imread('lena.jpg')
im_converted_mat = np.zeros_like(im, dtype=np.uint8)

for x in range(im.shape[0]):
for y in range(im.shape[1]):
# 补色公式max(r,g,b)+min(r,g,b)-[r,g,b]
maxrgb = im[x][y].max()
minrgb = im[x][y].min()
im_converted_mat[x][y] = (int(maxrgb) + int(minrgb)) * np.ones(3) - im[x][y]

#反色公式[255,255,255]-[r,g,b]
im_converted_mat2 = np.ones_like(im) * 255 - im

cv2.imshow('ori', im)
cv2.imshow('buse', im_converted_mat)
cv2.imshow('fanse', im_converted_mat2)
cv2.imwrite('buse.jpg', im_converted_mat)
cv2.imwrite('fanse.jpg', im_converted_mat2)
cv2.waitKey()


  • 直方图均衡化Histogram
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
img=cv.imread("his.jpg", cv.IMREAD_GRAYSCALE)

gray_static=[0 for i in range(256)]

width,height=np.shape(img)
for i in range(width):
for j in range(height):
gray_static[img[i,j]]+=1;

n=width*height

#pdf(概率密度函数)用来存储每个灰度值出现的概率(比例),像素个数/总像素个数
pdf=[i/n for i in gray_static]

#cdf(累计分布函数),用来存储每个灰度值的累计分布函数值
cdf=pdf
for i in range(1,256):
cdf[i]=cdf[i]+cdf[i-1]

#直方图均衡化转化
img_t=np.copy(img)
for i in range(width):
for j in range(height):
img_t[i,j]=255*cdf[img[i,j]]

#绘制并显示直方图
plt.hist(img.ravel(),256,[0,256])
#plt.show()
plt.hist(img_t.ravel(),256,[0,256])
plt.show()

cv.imshow('img',img)
cv.imshow('img_t',img_t)
cv.waitKey(0)
  • 均值滤波

img

  • 中值滤波

img

  • 锐化滤波

    img

  • 图像的熵

    img

  • LZW-encode

image-20210623235657253

  • LZW-decode

image-20210623235728790