第二章
2.1 解释下列名词
(6) 图像均匀采样
(7) 空间分辨率
空间分辨率指图像中能够分辨的最小细节的大小,通常表示为每单位长度内的像素数量。例如,空间分辨率可以表示为每英寸多少像素(PPI,Pixels Per Inch)。空间分辨率越高,图像能够显示的细节就越多,图像越清晰。高空间分辨率在医学影像、卫星遥感等领域尤为重要。
(8) 灰度分辨率(幅度分辨率)
指图像中能够表示的灰度级别的数量。灰度分辨率决定了图像中亮度变化的细腻程度。通常用位数(bit)来表示,例如8位灰度图像能够表示256个灰度级别(2^8 = 256)。灰度分辨率越高,图像的灰度变化越平滑,图像质量越好。在实际应用中,高灰度分辨率有助于更准确地捕捉和再现图像中的亮度细节。
2.7 图像运算坐标系统有什么特点?
2.8 显示图像坐标系统有什么特点?
2.9 数字图像中各量的含义是什么?其取值有什么要求和特点?
表示将数字图像抽象为二维灰度值点阵后,在点阵中第行,第列处的灰度值(整数)大小.
其中,。的取值范围与图像位深度有关,例如对于位深度为8的灰度图像,有.
2.10 设图像阵列大小为200*300,请问:
(1) 若图像为黑白二值图像,该图像阵列占用的比特数是多少?
黑白二值图像的每一个像素点只需要一个1bit即可表示。
总计占用比特数=200*300*1=60000bit
(2) 若图像为16灰度级图像,该图像阵列占用的比特数是多少?
对于16灰度级图像,每个像素占用4bit
总计占用比特数=200*300*4=240000bit
(3) 若图像为256灰度级图像,该图像阵列占用的比特数是多少?
对于16灰度级图像,每个像素占用8bit
总计占用比特数=200*300*8=480000bit
(4) 若图像为真彩色图像,该图像阵列占用的比特数是多少?
真彩色图像通常使用24比特表示(8比特红色、8比特绿色、8比特蓝色)。
总计占用比特数=200*300*8*3=1440000bit
第三章
3.1 解释下列名词
3.4 设有一灰度图像的直方图,请回答如下问题:
(1) 当该直方图偏左时,该图像的亮度和对比度有什么特征?
直方图偏左,说明图像中的像素点取值集中在较低的灰度值范围内,图像整体偏暗。
若直方图偏左且集中在较窄的区间内,且直方图右侧亮区几乎为0,则图像看起来较为平淡,对比度较低。然而,若直方图左侧暗区没有那么集中,或者右侧亮区仍有明显大于0的取值(即仍有一定数量的像素点的灰度值较高),则图像仍将呈现出一定的对比度。
(2) 当该直方图偏右时,该图像的亮度和对比图有什么特征?
直方图偏右,说明图像中的像素点取值集中在较高的灰度值范围内,图像整体偏明亮。
对比度分析与(1)一样。
(3) 当该图像挤在某个狭小区域内时,该图像的对比图有什么特征?
由(1)的分析,对比度较低。
(4) 简述灰度直方图在图像处理中有哪些用途。
灰度直方图在图像处理中有以下几种用途:
- 图像增强:通过直方图均衡化技术,使得图像灰度分布尽量均匀,提高图像的对比度。
- 图像分析:通过观察直方图,可以了解图像的亮度和对比度特性,判断图像的质量。
- 阈值分割:根据直方图选择合适的阈值,将图像分割成前景和背景。
- 模式识别:直方图作为图像特征的一种,可以用于图像分类和识别任务。
- 色彩校正:在彩色图像处理中,分别对各颜色通道进行直方图分析和处理,改善图像的视觉效果。
3.5 假设要把一幅图像放大为原先大小的2倍,请简述其放大原理或实现方法。
1. 最近邻插值 (Nearest Neighbor Interpolation)
这是最简单的一种插值方法。它通过选择最近的原始图像像素来填充新生成的像素位置。具体步骤如下:
- 对于每一个目标图像的像素点,找到它在原始图像中对应的最近的像素点。即,.
- 将该最近的像素点的值赋给目标图像中的该位置,即。
优点: 计算简单,速度快。 缺点: 生成的放大图像可能会有明显的锯齿状边缘,不够平滑。
2. 双线性插值 (Bilinear Interpolation)
双线性插值考虑了目标像素位置周围的四个邻近像素点,并根据这些像素点的灰度值进行加权平均,得到目标像素的灰度值。具体步骤如下:
- 确定目标像素在原始图像中的位置及其周围的四个像素点。
- 根据目标像素相对于这四个像素点的距离,对这四个像素点的灰度值进行加权平均。
优点: 生成的图像比最近邻插值更平滑。 缺点: 计算量较大,边缘仍可能不够平滑。
3. 双三次插值 (Bicubic Interpolation)
双三次插值使用目标像素周围的16个邻近像素点进行插值。这种方法通过对这16个像素点的灰度值进行三次多项式拟合来计算目标像素的灰度值。具体步骤如下:
- 确定目标像素在原始图像中的位置及其周围的16个像素点。
- 通过三次多项式对这16个像素点的灰度值进行拟合计算,得到目标像素的灰度值。
优点: 生成的图像更为平滑,质量较高。 缺点: 计算复杂度高,速度较慢。
第四章
4.1 解释下列名词
(1) 空间域图像增强
空间域图像增强指直接在图像的像素值上进行处理,以改善图像的视觉效果或突出某些特征。空间域方法通常通过对图像的灰度级进行变换或者利用卷积操作来实现。常见的空间域增强技术包括直方图均衡化、图像平滑(如模糊处理)、图像锐化、对比度拉伸等。空间域处理直接对图像的每一个像素进行操作,易于理解和实现。
(2) 邻域平均
邻域平均是一种实现图像平滑的技术,通过计算每个像素点邻域内像素值的平均值来更新该像素点的值。具体过程如下:
- 对于每个像素点,定义一个邻域(通常是一个固定大小的窗口,如3x3、5x5)。
- 计算该邻域内所有像素值的平均值。
- 将该平均值赋给中心像素点。
邻域平均可以有效地减少图像中的随机噪声,使图像变得更为平滑,但也会导致图像细节的丢失。
(3) 图像平滑
图像平滑是一种减少图像噪声和细节的技术,目的是降低图像中的随机噪声或细节变化,使图像变得更为平滑和连续。图像平滑方法包括低通滤波器、均值滤波、高斯滤波、中值滤波等。每种方法都有其优缺点,例如高斯滤波能够较好地平滑图像而不明显模糊边缘,而中值滤波则在去除脉冲噪声方面效果更好。
(4) 图像锐化
图像锐化是增强图像中细节和边缘特征的技术,通过强调图像的高频成分,使图像变得更加清晰。常用的图像锐化方法包括拉普拉斯算子、Sobel算子、Canny边缘检测等。锐化过程通常涉及对图像进行卷积操作,以突出图像中的边缘和细节,但锐化处理需要谨慎,避免引入过多的噪声。
(5) 对比度拉伸
4.4 已知一幅大小为64*64的图像,灰度级为8,图像中各灰度级的像素数目如下表所示。使用直方图均衡法对该图像进行增强处理,并画出处理前后的直方图。
| k | 0 | 1 | 2 | 3 |
|---|---|---|---|---|
| nk | 1450 | 1030 | 530 | 370 |
| k | 4 | 5 | 6 | 7 |
|---|---|---|---|---|
| nk | 280 | 206 | 150 | 80 |
解:
Step1: 计算各灰度级在整幅图像中出现的频率
, ,
,,
,
处理前直方图如下:
Step2: 根据频率计算各灰度值的映射函数
, , ,
, , ,
Step3: 灰度值映射
, ,
, ,
,
Step4: 作出均衡化后的直方图
灰度值为2的像素点有0.35;灰度值为4的像素点有0.25;灰度值为5的像素点有0.13;
灰度值为6的像素点有0.09+0.07=0.16;灰度值为7的像素点有0.05+0.04+0.02=0.11
4.5 已知一幅8*8数字图像的各灰度级像素的归一化概率分布如下表所示
| k | 0 | 1 | 2 | 3 |
|---|---|---|---|---|
| 概率 | 0.18 | 0.25 | 0.20 | 0.17 |
| k | 4 | 5 | 6 | 7 |
|---|---|---|---|---|
| 概率 | 0.08 | 0.06 | 0.04 | 0.02 |
(1) 写出对该图像进行直方图均衡化的各步骤,并绘制原图像的直方图和和均衡化结果图像的直方图.
Step1. 根据表中数据计算出各灰度级对应的变换函数值:
, , ,
, , ,
Step2. 将原图像的各个灰度级映射到新图像的灰度级:
,
,
,
,
Step3. 计算出新图像的归一化分布概率如下表
| k | 0 | 1 | 2 | 3 |
|---|---|---|---|---|
| 概率 | 0 | 0.18 | 0 | 0.25 |
| k | 4 | 5 | 6 | 7 |
|---|---|---|---|---|
| 概率 | 0.20 | 0 | 0.25 | 0.12 |
Step4. 作出均衡化前后图像的直方图
如图所示,可以发现均衡化之后灰度值的分布情况相较于处理前更加接近于均匀分布。
绘图代码如下:
import matplotlib.pyplot as plt
def draw(picture, title, data):
x_coords = range(len(data))
picture.bar(x_coords, data)
picture.set_title(title)
picture.set_xlabel('Gray Value')
picture.set_ylabel('Frequency')
picture.set_xticks(x_coords)
data_original = [0.18, 0.25, 0.20, 0.17, 0.08, 0.06, 0.04, 0.02]
data_optimized = [0.00, 0.18, 0.00, 0.25, 0.20, 0.00, 0.25, 0.12]
fig, (picture1, picture2) = plt.subplots(1, 2, figsize=(10, 4))
draw(picture1, "The Original Iamge", data_original)
draw(picture2, 'Histogram Equalization', data_optimized)
plt.tight_layout()
plt.show()
(2)若原图像中的某一行8像素的灰度值依次是0,1,2,3,4,5,6,7,请计算均衡化处理后这8个像素的灰度值是什么?
由映射关系知,均衡化后这八个像素点的灰度值分别为1,3,4,6,6,7,7,7
4.7 设有如下所示的原图像,若用仅包含5像素的十字窗口对该图像进行中值滤波。
原图像如下:
| 10 | 25 | 8 | 32 | 19 |
|---|---|---|---|---|
| 9 | 15 | 10 | 30 | 23 |
| 11 | 22 | 18 | 35 | 18 |
| 16 | 15 | 17 | 18 | 8 |
| 13 | 14 | 19 | 19 | 1 |
十字窗口如下:
请问:
(1) 结果图像中有多少像素点的值不用计算即可得到?
图像边缘的像素点不参与中值滤波运算,共有5+5+3+3=16个。
(2) 结果图像中有多少像素的值需要计算得到?
其余的像素点都需通过计算得到,共有5*5-16=9个
(3) 请给出中值滤波后的结果图像。
| 10 | 25 | 8 | 32 | 19 |
|---|---|---|---|---|
| 9 | 15 | 15 | 30 | 23 |
| 11 | 15 | 18 | 18 | 18 |
| 16 | 16 | 18 | 18 | 8 |
| 13 | 14 | 19 | 19 | 1 |
4.9 图像平滑算子与拉普拉斯图像锐化算子中的系数值各有什么特征?
均值滤波器(一种图像平滑算子):
1/9 1/9 1/9
1/9 1/9 1/9
1/9 1/9 1/9
高斯滤波器(一种图像平滑算子):
1/16 2/16 1/16
2/16 4/16 2/16
1/16 2/16 1/16
4邻域拉普拉斯算子:
0 -1 0
-1 4 -1
0 -1 0
8邻域拉普拉斯算子:
-1 -1 -1
-1 8 -1
-1 -1 -1
总结:
- 平滑算子的系数为正数,和为1,旨在减少噪声和细节。
- 拉普拉斯锐化算子的中央系数为正值,周围系数为负值,总和为零,用于边缘检测和图像锐化。
4.10 图像平滑会对图像质量带来哪些负面影响?
-
细节损失:
- 平滑操作会模糊图像中的细节,导致图像的边缘和纹理变得不清晰。
-
边缘模糊:
- 图像中的锐利边缘会变得模糊,影响图像的清晰度。
-
信号失真:
- 平滑过程可能引入失真,使得原本应该保留的信息被削弱或丢失。
4.11 与低通滤波相比,中值滤波有哪些优点?
虽然低通滤波实现简单、效率高,但会模糊边缘和细节。相比之下,中值滤波对突发噪声有良好效果,同时能保留边缘和细节,但计算复杂度较高。
【补充】 有如下的图像,以Sobel算子和分别与其作卷积运算,且记做和,请计算, .
解:
(1)
(2)
第五章
5.2 已知数学公式,请写出以下式子的展开式.
(1)
解:
(2)
解:
5.4 设的图像的傅里叶变换为,请写出反映该图像灰度平均值与傅里叶变换直流(DC)分量的关系的公式.
傅里叶正变换公式
直流分量
图像灰度平均值
所求关系
5.5 请回答如下的问题:
(1) 对图像进行傅里叶变换后得到的频谱图,低频位于其中心处还是四角处?
答:四角处
(2) 当把图像得到的频谱图的坐标原点移到中心对称时,低频位于其中心处还是四角处?
答:中心处
【补充】 设有的图像 ,下图给出了对图像作傅立叶变换后的部分结果,请写出,的取值.
傅里叶变换频谱图的对称性
于是
第九章
9.3 常用的图像分割方法主要包括哪几类?
-
基于阈值的分割:这种方法主要通过选取一个或多个阈值将图像灰度值分割成几个部分,基于直方图峰谷进行分割。
-
基于边缘的分割:此类方法依赖于图像中物体边缘的检测,边缘通常对应图像亮度的显著变化,常见的边缘检测算子有Sobel、Canny、Laplacian、LOG(Laplacian of Gaussian)等。
-
基于区域的分割:这类方法从某个像素开始,根据一定准则(如颜色、纹理等)进行区域的生长,或者是将图像分割为具有相似属性的区域。
9.4 简述基于边缘检测的图像分割方法的基本思路
基于边缘检测的图像分割方法的基本思路是检测图像中的边缘信息,因为物体的边界往往与图像的边缘相吻合。边缘是图像中亮度快速改变处的属性,表现为颜色、灰度或纹理的不连续性。通过检测这些不连续性,可以把图像分割成多个区域。
基于边缘的分割方法通常包含以下几个步骤:
- 滤波去噪:因为图像常常包含噪声,首先需要使用滤波器去除噪声影响,如高斯滤波器。
- 边缘检测:利用边缘检测算子(如Sobel、Canny等)寻找图像中亮度变化显著的地方,即边缘点。
- 边缘增强:通过非极大值抑制等技术增强边缘点的响应,同时降低非边缘区域的响应。
- 边缘连接:将检测出的边缘点连接成连续的边界线,可以通过霍夫变换或其他算法实现。此步骤在实际应用中可能比较困难,尤其是在图像噪声和断裂边缘存在的情况下。
- 区域提取:最后根据连续边界线分隔出图像中的各个对象。
9.5 简述Hough变换的基本思想
Hough变换是一种用于检测图像中几何形状(尤其是直线和圆等)的特征提取方法。其基本思想是将图像空间中的形状描述转变为参数空间中的点描述。
以检测直线为例的Hough变换步骤:
- 确定直线的参数表示方式,常见的是极坐标表示(ρ-θ表示),其中ρ是直线到原点的距离,θ是该直线与x轴的夹角。
- 对于图像空间中的每个边缘点,在参数空间中进行绘制曲线。每一点在图像中代表一条直线,在参数空间中则对应于所有可能的(ρ,θ)值,这些值在参数空间中会绘制成一条正弦曲线。
- 由于图像中共线的点在参数空间中对应的曲线会交于一点,通过寻找参数空间中的交点来检测直线。交点的累积值较高的地方,表明这些参数(ρ,θ)对应的直线在图像中有较多的点。
- 设置一个阈值来确定是否足够多的边缘点共线,超过该阈值的点对应的参数则认为是图像中显著的直线。
对于其他形状,比如圆或椭圆,Hough变换的原理相似,但是参数空间的维度可能会增加。
9.6 简述基于阈值的图像分割方法
基于阈值的图像分割方法是指通过设定一个或多个阈值,将图像中的像素分为前景(目标)和背景两部分或多个等级。这个方法通常应用于图像亮度对比明显的情况。阈值分割的关键步骤是选择一个合适的阈值。
阈值选择可以是全局的,即整个图像使用同一阈值,也可以是局部的,不同区域使用不同阈值(即自适应阈值)。阈值的选择可以基于某些标准,如图像的直方图、熵、最小误差等。
9.7 简述基于区域的图像分割方法
基于区域的图像分割方法是指以像素的邻近性和相似性为基础,将图像分割成不同的区域。这类方法一般追求的是将具有相似属性(如亮度、颜色、纹理等)的像素聚集到相同区域。基于区域的分割方法主要有两种形式:区域生长和区域合并。
- 区域生长:从一个或多个种子点开始,按照一定的准则(通常是灰度或颜色相似性)逐渐增长,直到满足停止条件。种子点可以是手动选择的,也可以是根据图像特性自动选取的。
- 区域合并:开始时将每个像素视为一个区域,然后逐渐合并邻近的相似区域,直至无法合并。这种方法是自下而上的策略。
第七章
7.8 设有信源符号集,其概率分布为, , , , , .
(1) 给出图示形式的哈夫曼编码过程.
(2) 依据编码过程中各步的编码,以格式,给出信源符号集中各信源符号的哈夫曼编码.
7.9 设有如下所示的图像阵列数据需要传输:
| 7 | 7 | 7 | 7 | 7 | 7 | 7 | 7 |
|---|---|---|---|---|---|---|---|
| 7 | 6 | 6 | 6 | 6 | 6 | 6 | 7 |
| 7 | 6 | 4 | 4 | 4 | 4 | 6 | 7 |
| 7 | 6 | 4 | 2 | 2 | 4 | 6 | 7 |
| 7 | 5 | 3 | 2 | 2 | 3 | 5 | 7 |
| 7 | 5 | 3 | 3 | 3 | 3 | 5 | 7 |
| 7 | 5 | 5 | 5 | 5 | 5 | 5 | 7 |
| 7 | 7 | 7 | 7 | 7 | 7 | 7 | 7 |
(1) 给出图示形式的哈夫曼编码过程
各信源符号出现的频率如下:
, ,
, ,
哈夫曼编码过程如下:
(2) 给出信源符号集中各信源符号的哈夫曼编码
, ,
, ,
(3) 计算所的编码的平均长度
第12章
12.1 什么是腐蚀运算,它的主要功能是什么?
腐蚀运算()是数学形态学中用于图像处理的一项基本操作。其主要功能是侵蚀图像中的对象边界。在二值图像处理中,腐蚀的结果是将图像中的前景像素(被视为1或白色的像素)缩小,通常会导致对象大小减小或甚至分离成多个部分。
腐蚀运算使用一个被称为结构元素的形状来探测和处理图像中的每个像素。在二维空间中,结构元素通常是一个小的、中心有定义的矩阵,它用来与图像中的像素邻域比较。如果结构元素"适合"在某个像素的邻域内(即结构元素覆盖的所有像素均为1),则该像素保留;否则,在腐蚀后的图像中该像素被移除(设置为0或黑色)。
腐蚀运算在图像预处理和后处理中非常有用,它可以应用于:
- 消除小且不重要的对象
- 分开相邻的对象
- 突出图像中的主要结构
- 准备工作以便后续更复杂的形态学操作
12.2 什么是膨胀运算,它的主要功能是什么?
膨胀运算()与腐蚀运算相反,也是数学形态学中一个基本的图像处理操作。膨胀的主要功能是扩大图像中对象的边界。在二值图像处理中,膨胀的结果通常导致前景像素区域增大。
与腐蚀一样,膨胀运算也使用结构元素,但在膨胀中,如果结构元素与对象的交集非空,该位置的像素即被添加到对象中。这意味着结构元素"触及"前景像素时,该像素被设定为前景。
膨胀运算可以应用于:
- 填补对象内的小孔或裂缝
- 连接邻近的对象
- 加强图像中的主要结构
- 前景对象边界扩张
12.3 请指出当进行腐蚀运算时结构元素在目标图像上的平移方式,与当进行膨胀运算时结构元素的反射元素在目标图像上的平移方式有什么区别?
在腐蚀运算中,结构元素在目标图像上平移时,保持其原有的朝向不变。即对中的每个像素𝑝,结构元素以𝑝为原点进行平移,检查覆盖的区域是否完全包含在𝐴的前景中。
相比之下,在膨胀运算中,我们不是使用结构元素而是其反射元素。反射元素是结构元素关于其原点的反射。在进行膨胀时,结构元素对于图像中每个前景像素的响应是这样的:如果在平移过程中与任何前景像素至少有一个共通点,则此处像素点被添加到膨胀结果中。
12.4 设有如图所示的原始图像和和结构元素,请分别给出利用结构元素对该图像进行腐蚀和膨胀运算的结果。
腐蚀:
膨胀:
12.6 与腐蚀运算相比,开运算有什么优势?
开运算是指先进行腐蚀后进行膨胀的操作。与单独的腐蚀相比,开运算的优势是:
- 它可以去除小的噪声斑点(腐蚀的作用),同时基本保持原始形状的大小不变(由于随后的膨胀)。
- 它可以断开两个轻微相接触的对象,而不过度改变对象的面积。
- 清理对象边界,去除突出的细微部分,平滑较长的边界,同时不明显改变其面积。
12.7 与膨胀运算相比,闭运算有什么优势?
闭运算是指先进行膨胀后进行腐蚀的操作。与单独的膨胀相比,闭运算的优势是:
- 它可以填补前景对象内部的小孔和裂缝(膨胀的作用),在随后的腐蚀步骤中基本保持对象的原始大小及形状。
- 它有助于连接在原始图像中相近的对象,而不引入大的结构变化。
- 清理对象内部的小黑点和孔洞,提升对象的完整性,同时保持边界相对稳定。