简介:数字图像处理课程经常需要刷题巩固概念,这份PDF就将高频考点整理成了完整试卷。它面向高校计算机、电子信息类专业学生,以及准备数字图像处理考试或复试的考生,覆盖图像增强、压缩、分割、识别等核心模块,并给出填空、选择、判断、简答和问答题的详细答案。包内共1个文件,为PDF格式电子文档,全部内容约123KB,方便打印或在手机、电脑上随时翻阅。目前已有1137人浏览学习,属于较实用的备考资料。除了基础概念外,这份试题还涉及直方图均衡化计算、拉普拉斯算子边缘检测、逆滤波与维纳滤波复原、Huffman编码等典型题目,通过练习可以帮读者把抽象原理落到具体解题步骤上,适合在考前集中自测和查漏补缺。
1. 数字图像处理试卷的题型分布与复习主线
数字图像处理这门课从表面看公式密度高,概念之间的关联也绕。多数学校的数字图像处理试卷由两部分构成:一部分考概念记忆,比如采样定理的适用条件、均值滤波和中值滤波的区别、几何变换里的插值方式;另一部分考计算与分析,直方图均衡化、模板卷积、频域变换性质、形态学开闭运算都是常客。真正拉开分数差距的往往不是最难的推导,而是空间域和频域的对应关系、点运算和邻域运算的边界这类基础概念判断。把试卷按题型拆开,选择题和判断题集中考察定义边界,计算题考察步骤完整度和数值精度。下面按试卷常见的题型分布,把高频考点、易混选项和计算题的完整步骤逐类过一遍,每类题目都给出可验证答案的检查手段。
2. 概念题背后的硬知识:采样、量化、像素邻域与直方图
数字图像处理试卷的第一部分通常是概念题,往往从采样与量化开始。这一部分的分数不高,但失分率一直不低,原因是考法细,经常在一个词上设置陷阱。采样是空间离散化,量化是幅度离散化,两个概念放在同一道判断题里会故意混用。遇到这类题先圈主语:处理对象是坐标还是灰度值,坐标离散属于采样,灰度值离散属于量化,两者都完成才称为数字化。
2.1 采样、量化与灰度级的常数换算
采样和量化的计算题基本固定在两个参数上:图像尺寸和灰度级数。一张 M×N 的图像,采样决定 M 和 N,量化位数 k 决定灰度级数 L=2^k。存储一个像素需要 k 比特,整幅图像的存储量是 M×N×k 比特。考题常见的变体是问“灰度级从 256 降到 16,图像存储量为原来的多少”,256 对应 8 比特,16 对应 4 比特,存储量减半。另一个高频考点是采样定理:如果原始信号最高频率为 f,采样频率必须大于 2f,也就是奈奎斯特率。题目常把“大于”写成“大于等于”,这是错的,等于只是临界值,工程上无法可靠恢复。
这里把常见参数对照记住,做题时可以直接换算:
| 量化位数 k | 灰度级数 L | 每像素比特数 | 相比 8 比特图像存储倍数 |
|---|---|---|---|
| 1 | 2 | 1 | 1/8 |
| 4 | 16 | 4 | 1/2 |
| 8 | 256 | 8 | 1 |
| 12 | 4096 | 12 | 1.5 |
| 16 | 65536 | 16 | 2 |
灰度级数影响的是图像灰度分辨能力,与空间分辨率是两个独立维度。判断题里说“采样点越多图像越清晰”,这句话只在灰度级数不变时才成立。如果采样点增加同时灰度级数减少,图像的假轮廓反而更明显,这是采样与量化相互制约的经典考法。
2.2 邻域、连通性与距离度量的判定方法
像素邻域关系是形态学和分割题的基础,试卷里通常以判断题或选择题形式出现。4-邻域 N4(p) 包含上下左右四个像素,对角邻域 ND(p) 包含四个对角像素,8-邻域 N8(p) 是两者并集共八个像素。常考点是:两个像素是否连通,取决于邻域定义和像素值集合 V。如果 V 定义为灰度值相同的集合,那么在 4-连通规则下,只有通过上下左右路径连接才算成立;在 8-连通规则下,对角路径也可以通过。混合连通是在 8-连通基础上禁止对角连接被重复使用,用来消除 8-连通带来的多路歧义。
距离度量同样经常出现在选择题里。D4 距离也叫城市街区距离,计算方式是 |x1-x2|+|y1-y2|;D8 距离也叫棋盘距离,取两个坐标差绝对值的最大值。判断题常出现“两个点之间的 D8 距离等于欧氏距离”,这个说法只有在特殊位置上成立。比如点 (1,1) 和 (4,5),D8 距离是 max(|1-4|,|1-5|)=4,而欧氏距离是 5,两者不相等。这类题目代入一两个数值就能判断,不需要背结论。
2.3 直方图相关题目的三种问法
直方图是概念与计算之间的桥梁,试卷中至少出现三种问法。第一种问直方图的定义,即灰度级分布的概率密度函数;第二种问直方图均衡化的作用;第三种给出一组像素值,要求手算均衡化映射关系。前两种是概念层面的考法:直方图反映图像对比度,灰度分布集中在低值区间说明图像偏暗,集中在高值区间说明偏亮,分布在窄区间说明对比度低。均衡化的目标是让直方图尽可能均匀分布,但注意是“尽可能”,不是变成一条直线,因为灰度级是离散的,无法做到完美均匀。第三种属于计算题,在第 4 章里完整展开。
概念题里还有一个容易被忽略的点:直方图只包含灰度级的统计信息,不含像素位置信息。两张内容完全不同的图像可以有完全相同的直方图,判断题里说“直方图可以唯一确定一幅图像”是错的。反过来,对图像做整体平移、旋转,直方图可能不变,这也说明直方图对空间结构不敏感。
2.4 几何变换与插值的选择题考法
几何变换的考核点主要是旋转、缩放和平移,以及缩放时使用的插值方法。最近邻插值速度快但产生锯齿,双线性插值用周围 4 个像素做线性加权,输出平滑但会略微模糊边缘,双三次插值使用 16 个邻域像素,计算量最大但质量最高。选择题问“放大图像时希望边缘保持清晰,应选择哪种插值”,如果题干强调速度选最近邻,强调质量选双三次,限制词通常能锁定答案。判断题说“双线性插值是线性变换”,这个说法不严谨,双线性插值对像素值做线性加权,但几何映射本身不是线性变换,因为权重随坐标变化。
旋转和缩放的判断题要抓住方向性:旋转 45 度后图像四边会出现黑边,因为新画布超出原图范围;缩放倍数设为负值时实际上做的是镜像翻转。变换矩阵的最后一行为 [0 0 1],如果题目给出的矩阵在最后一行混入缩放或旋转参数,可以直接判错。
3. 数字图像处理选择题与判断题的高频考点
数字图像处理选择题和判断题在试卷里通常占 20 到 30 分,特点是概念多、分值分散,但考点高度重复。把近年试卷的客观题放在一起看,空间域滤波、频域变换、图像增强与恢复是三个出题密度最高的区域。这三块内容里藏着大量成对概念,出题人最擅长把一对概念的限定条件互换,制造看似合理实则错误的选项。
3.1 空间域滤波的选项陷阱与排除思路
空间域滤波的选择题几乎每年都考均值滤波与中值滤波的对比。均值滤波是线性滤波,输出是邻域内像素的加权平均,作用是平滑图像、抑制高斯噪声,但会模糊边缘。中值滤波是非线性滤波,输出是邻域内像素排序后的中值,对椒盐噪声抑制效果极好,同时能在一定程度上保留边缘锐度。题目问“哪种滤波器适合去除椒盐噪声”,答案选中值滤波。如果选项里把“线性”和“非线性”互换位置,直接排除。
另一个高频设置是边界处理方式。对图像做 3×3 模板卷积时,边界像素的邻域不完整,常见处理方式有补零、复制边界像素、镜像扩展和只计算有效区域。选择题说“滤波后图像与原始图像尺寸相同,且所有像素都做了滤波运算”,这对应补零或复制扩展;如果选项写“裁掉边缘,输出尺寸变小”,就是干扰项。这个区别在判断题里也反复出现。
高斯滤波和均值滤波的选择题,重点在核的权重分布。高斯核是中心权重最大、向四周递减,均值核所有位置权重相等。判断题说“高斯滤波核的所有系数均为正且相等”,前半句对后半句错。另外,高斯滤波是线性操作,对高斯噪声的抑制效果理论上最好,这个结论也常被考到。
3.2 频域判断题的对应关系与方向性
频域部分的判断题几乎不要求推导,只需要记住空间域和频域的对应关系。空间域卷积对应频域乘法,空间域乘法对应频域卷积,这是卷积定理。考题问“空间域做卷积相当于频域做什么”,答案是相乘。围绕这个定理的变形题很多,比如“图像在空间域平移,频域中发生什么变化”,对应的是频域相位变化,幅度谱不变。高频分量对应图像的边缘和细节,低频分量对应平坦区域和整体亮度。
一个容易出错的判断题是:未做中心化处理的频谱图中,直流分量位于频谱图四角,中心位置对应最高频率分量,这个说法是错的。中心化处理后零频移动到中心,频谱图中心亮、四周暗,此时中心才对应低频。图像旋转后频谱也旋转相同角度,这一性质既出现在判断题也出现在简答题里。
3.3 增强与恢复的意图判断
图像增强和图像恢复是两个目标不同的方向,选择题经常把两者混在一起考。增强是主观的,目的是让图像看起来更好,不要求建立退化数学模型。恢复是客观的,目的是根据退化模型尽量还原原始图像,典型方法有逆滤波和维纳滤波。题目问“对受运动模糊影响的图像使用什么方法最合适”,应选恢复类的逆滤波或维纳滤波,而不是增强类的直方图均衡化。反过来,判断题说“增强可以完全还原噪声之前的原始图像”,这也是错的,增强不具备模型还原能力。
直方图均衡化属于增强方法,它基于灰度级概率密度做映射,不需要知道图像如何退化。这一类的判断题关键是分辨“主观”和“客观”“有模型”和“无模型”,把这些关键词圈出来,基本可以锁定正确答案。
3.4 分割与边缘检测的判断要点
图像分割的判断题集中在阈值法和边缘检测。全局阈值法假设目标和背景的灰度分布可以用一个阈值分开,Otsu 方法通过最大化类间方差自动求阈值,这个定义经常被考成“最小化类内方差”,两个说法在数学上等价,但选项文字会制造细微差别。区域生长法需要选取种子点并定义生长准则,属于基于区域的方法,与基于边界的方法互补。边缘检测算子中,一阶微分算子有 Sobel、Prewitt,适合检测阶跃边缘;二阶微分算子有 Laplacian,对噪声敏感,常先做高斯平滑再求二阶导数,也就是 LoG。考到 Canny 算法时,记住基本流程顺序不能颠倒:高斯平滑、梯度幅值计算、非极大值抑制、双阈值处理和边缘连接。
4. 计算分析题的规范步骤:直方图均衡化、模板卷积与形态学
计算题在数字图像处理试卷中占比最大,通常 40 到 50 分。计算题的难度不在公式本身,而在步骤完整度和数值精度。直方图均衡化是整套试卷中出现频率最高的计算题,模板卷积和边缘梯度计算次之,形态学运算偶尔以图算题形式出现。这三类题的共同特点是结果可验证,做完之后用反向检查或代码复核都能确认对错。
4.1 直方图均衡化的逐步推导与结果验证
直方图均衡化的标准步骤可以归纳为五步:统计直方图、计算累计分布函数、映射到输出灰度级、重新分配像素、验证均衡化效果。假设一幅 3 比特灰度图像,灰度级 0 到 7,各灰度级像素个数如下表所示。
| 灰度级 rk | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|---|
| 像素数 nk | 10 | 20 | 30 | 20 | 40 | 30 | 10 | 20 |
图像总像素数 N=180。先求各灰度级概率 p(rk)=nk/N,再计算累计分布函数 CDF,最后用输出灰度级 = round((L-1) × CDF) 做映射。
| rk | nk | p(rk) | CDF | (L-1)×CDF | 取整结果 |
|---|---|---|---|---|---|
| 0 | 10 | 0.056 | 0.056 | 0.392 | 0 |
| 1 | 20 | 0.111 | 0.167 | 1.169 | 1 |
| 2 | 30 | 0.167 | 0.334 | 2.338 | 2 |
| 3 | 20 | 0.111 | 0.445 | 3.115 | 3 |
| 4 | 40 | 0.222 | 0.667 | 4.669 | 5 |
| 5 | 30 | 0.167 | 0.834 | 5.838 | 6 |
| 6 | 10 | 0.056 | 0.890 | 6.230 | 6 |
| 7 | 20 | 0.111 | 1.000 | 7.000 | 7 |
注意一个细节:灰度级 4 映射到 5,灰度级 5 和 6 都映射到 6,所以输出灰度级 6 集中了较多像素,均衡化后的直方图不是严格均匀的。这是离散灰度级的正常现象。阅卷给分点通常落在 CDF 计算和映射取整两处,CDF 算错后面全错,建议用下面这段代码做结果核验。
import numpy as np # 输入各灰度级像素个数 nk = np.array([10, 20, 30, 20, 40, 30, 10, 20], dtype=np.float64) N = nk.sum() L = 8 # 3比特图像 # 归一化直方图 p = nk / N # 累计分布函数 cdf = np.cumsum(p) # 映射到输出灰度级 mapped = np.round((L - 1) * cdf).astype(int) for rk, val in enumerate(mapped): print(f"输入灰度级 {rk} -> 输出灰度级 {val}")代码的核心逻辑是np.cumsum(p)和np.round((L - 1) * cdf),前者等价于手算 CDF 的逐项累加,后者是教材上的四舍五入取整。如果手算结果与代码输出不一致,优先检查 CDF 是否从 0 开始累加,以及取整方式是否混用了向下取整,这两处是最常见的误差来源。
注意:多数教材使用四舍五入取整,也有少数题目明确要求向下取整。题干没有标注时按四舍五入处理,标注了则严格按题目规则来。
4.2 模板卷积的完整计算与边界处理
模板卷积计算题通常给一个 3×3 模板和一幅小尺寸图像,要求计算某个像素位置卷积后的灰度值。卷积的本质是模板在图像上滑动,对覆盖区域做逐元素乘法后求和。严格信号处理定义里卷积需要把模板旋转 180 度,但图像处理的空间滤波里,许多教材把互相关和卷积混称为卷积,出题时模板通常是对称核,旋转与否不影响结果。如果模板不对称,看清题干说的是相关还是卷积。
以 Sobel 垂直边缘检测模板为例:
-1 0 1 -2 0 2 -1 0 1计算图像中坐标 (2,2) 位置的输出值,需要取该像素的 3×3 邻域与模板逐元素相乘后求和。如果目标像素位于边界,邻域会超出图像范围,此时用补零方式将超出的位置补 0。完整滤波过程可以用 Python 片段快速复核:
import numpy as np from scipy.signal import convolve2d img = np.array([ [10, 20, 30, 40], [50, 60, 70, 80], [30, 40, 50, 60], [20, 10, 15, 25] ], dtype=np.float64) sobel_x = np.array([[-1, 0, 1], [-2, 0, 2], [-1, 0, 1]]) # mode='same' 保持输出尺寸与输入一致, boundary='fill' 表示补零 result = convolve2d(img, sobel_x, mode='same', boundary='fill', fillvalue=0) print(result)convolve2d的mode='same'让输出尺寸等于输入尺寸,boundary='fill'配合fillvalue=0实现补零边界。如果试卷要求只对有效区域计算,输出会变成 (M-2)×(N-2)。Sobel 核按卷积定义翻转后仍是自身,所以用convolve2d不需要额外翻转;如果模板不对称,就要区分应当使用convolve2d还是correlate2d,这正是模板方向问题的来源。
4.3 形态学开闭运算的步骤推导
形态学计算题通常考腐蚀、膨胀以及组合出的开运算和闭运算。腐蚀的结果是当结构元素完全包含在目标区域内时,原点位置保留;膨胀的结果是只要结构元素与目标区域有交集,原点位置就置为目标。基础题给出一个二值矩阵和 3×3 十字结构元素,要求计算腐蚀或膨胀后的矩阵,按像素逐个判断即可,关键在于结构元素原点的位置,原点决定偏移方向。
开运算是先腐蚀后膨胀,作用是消除细小亮斑、断开狭窄连接;闭运算是先膨胀后腐蚀,作用是填充小孔洞、连接邻近目标。
注意:判断开闭运算先看顺序,先腐蚀后膨胀是开运算,先膨胀后腐蚀是闭运算。开运算消除细小亮斑,闭运算填充细小暗孔。
判断题里说“开运算后目标面积一定减小”,这不成立,如果目标区域比结构元素大且没有细小突出部分,面积可以保持不变。更稳妥的判断是:开运算不会增加目标像素,闭运算不会减少目标像素,这个结论在试卷中反复出现。
5. 答案自检:三类题型的验证方法与易错点对照
最后一层是做完题目之后的自查。数字图像处理的计算题数值多、步骤长,一个中间量算错后面全错,建议用输入输出一致性和极值校验两层检查先过一遍。
第一层检查是直方图均衡化的像素守恒。均衡化前后图像总像素数必须一致,各输出灰度级的像素数之和等于原始总像素数。另外,映射函数是单调不减的,可以反向验证 CDF 推导。如果手算结果出现输入灰度级 2 映射到 6,而输入灰度级 3 映射到 5,一定是 CDF 计算错误。映射关系必须保持顺序,这是离散均衡化最重要的性质。
第二层检查是模板卷积的极值校验。对单位脉冲图像做卷积,输出应该等于模板本身;对常值图像做卷积,输出等于该常值乘以模板所有系数之和。平均模板系数之和为 1,常值区域输出不变;Sobel 模板系数之和为 0,平坦区域输出为 0。这两种性质可以快速判断卷积结果的数量级是否合理。
形态学计算的检查看两个指标:腐蚀后的目标像素数不大于原目标像素数,膨胀后的目标像素数不小于原目标像素数。开运算像素数减少或不变,闭运算像素数增加或不变。如果算出的结果违背这两个约束,说明结构元素原点或运算顺序出了错。
最后对照这组高频易错点,把错误答案归入概念类或计算类:
| 考点 | 易错写法 | 正确结论 |
|---|---|---|
| 中值滤波性质 | 线性滤波器 | 非线性滤波器 |
| 采样定理频率 | 采样频率等于最高频率 | 必须大于 2 倍最高频率 |
| 直方图信息 | 直方图可唯一确定图像 | 不含空间位置信息 |
| 均衡化结果 | 输出严格均匀直方图 | 离散灰度级下只能逼近 |
| 频域卷积定理 | 空域卷积对应频域卷积 | 空域卷积对应频域乘法 |
| 边界计算 | 输出尺寸变小 | same 模式保持尺寸不变 |
| 开运算效果 | 目标像素单调减少 | 减少或不变 |
概念类错误对应课本定义记混,回到对应章节重新梳理定义边界;计算类错误则把步骤拆开,单独验证 CDF 累加或卷积和。数字图像处理试卷的题型高度固定,把高频考点做扎实,正确率提升速度比盲目刷题快得多。
本文还有配套的精品资源,点击获取