简介针对章毓晋《计算机视觉教程》第3版期末复习的习题集适合正在备考计算机视觉、图像处理相关课程的本科生使用。资源把散见于各章的考点整理成单选、多选、判断、简答与综合题等形式重点覆盖距离计算、图像采集器件、相机成像、梯度与拉普拉斯算子、哈夫变换、形状分析、双目立体视觉、运动分析与动态背景建模等核心内容题型中既有像素距离、焦距成像尺寸与空间点投影坐标等基础计算也有Robert/Prewitt/Sobel算子梯度图、四边形边Hough变换、八边形形状指标、双目视差表达式以及高斯混合模型背景建模步骤等综合应用并对典型题目给出解析与参考链接方便对照教材查漏补缺。压缩包内为1个PDF文档大小5.77MB内容集中便于打印或电子阅读。目前已有4521人学习是考前快速梳理题型与计算方法的实用材料。1. 期末复习为什么不能只背概念把《计算机视觉教程》第3版当成一门“动手课”来复习计算机视觉教程章毓晋微课版本第3版的期末复习难点往往不是概念背不下来而是翻开“期末复习部分习题”才发现计算题和推导题占了将近一半。这门课期末真正在考的是你能不能把一个像素矩阵变成灰度直方图再把两个视角的坐标换成三维空间里的位置。只背“直方图均衡化能增强对比度”拿不到分要手算出映射表才算数。我见过太多人概念题答得很顺结果碰到一道 HOG 维度计算直接空着。应对办法是反着来从习题出发倒推章节哪类题不会就回教材补哪一章。这套复习思路对准备期末统考、补考重修以及想扎实补一轮视觉基础的同学都适用。2. 先把第3版教材拆成复习地图六大模块、两类题型、三遍刷法2.1 知识模块与习题权重图像处理、特征提取、几何视觉、目标识别《计算机视觉教程》第3版微课版的内容主线很清晰图像获取、图像处理、特征提取、几何视觉、目标识别与深度学习。期末习题的分布并不均匀按这套教材习题的普遍分布规律看图像增强与边缘检测永远是计算题的第一来源直方图均衡化、Sobel/Canny 边缘检测几乎年年出现特征提取章节出的是维度计算和算法比较HOG 和 SIFT 是绝对重点几何视觉考点集中在相机成像模型和标定属于推导题高发区目标检测与识别则喜欢考概念辨析和指标计算比如 IoU、mAP、混淆矩阵。复习时建议先把这张权重表贴在手边当目录用不要从第一章一直无差别刷到最后复习模块高频题型优先级图像增强直方图、灰度变换手算映射、过程填空必拿分图像滤波与边缘检测卷积计算、阈值选择必拿分特征提取HOG、SIFT、颜色纹理维度计算、算法比较重点几何视觉成像模型、标定、立体矩阵推导、参数反推重点目标检测与识别概念辨析、指标计算易丢分深度学习视觉基础名词解释、判断题按需补齐这里有个容易忽略的点微课版和普通版最大的差别是每章配有视频讲解习题风格偏向“能用手算验证”的内容。这意味着计算题给的数据尺寸通常很小不会考你用深度学习框架训练模型但对公式的每一步要求很严格。后面第3、4章就是按这个权重展开的。优先级只是让你把时间花在刀刃上不代表深度学习章节可以完全不看很多判断题和名词解释藏在那里。2.2 概念题与计算题的分类应对策略期末习题看着多说到底分四类每一类的应对方式完全不同。第一类是概念题给你一个名词让你解释或判断比如“什么是图像分辨率”“SIFT 为什么具有尺度不变性”。这类题只写三行很难拿高分我一般用“定义 性质 一句话例子”的结构先一句话给定义再列出两到三个关键性质最后补一句具体场景对照。比如问到 Canny 边缘检测就写“Canny 是一种基于多级边缘检测算法包含高斯平滑、梯度计算、非极大值抑制和双阈值连接四个步骤常用于强鲁棒边缘提取”。性质点写全例子一句话带过比写一整段论述更有用。第二类是计算题典型代表是直方图均衡化、均值滤波和中值滤波。这类题的关键是保持步骤完整过程分通常占总分一半以上。哪怕最后答案算错只要灰度统计、累积分布、映射表这三步写全也能拿到大部分分数。很多人的误区是只追求最终数字把草稿纸省略了这是计算题最亏的丢法。第三类是推导题典型代表是坐标变换矩阵。这类题最忌讳直接背公式题目一换坐标系顺序就卡住。我建议把四步变换的矩阵按顺序写熟练世界到相机、相机到图像、图像到像素。考试时照着顺序展开矩阵再代入数据反推参数就不会乱。第四类是设计题比如“给出一个检测交通标志的方案”。这类题考的是完整链路而不是唯一答案。答题时按“图像预处理 → 特征/模型 → 检测后处理 → 评估指标”四段写每段的选型理由补一句基本就能拿满。不要试图追求一个完美的算法老师想看的是你有没有建立完整流程的思维。2.3 三遍刷题法的节奏安排针对几十道题盲目刷三遍是低效的。我一般把复习拆成三遍每一遍有不同的产出总时间控制在考前两周内。第一遍是扫雷按章节顺序快速过所有习题不拐弯直接看答案。完全不会的标红会一半的标黄一眼就会的标绿。这一遍的目标是建立“哪里不会”的地图通常两三天就能过完。标红不代表不行而是告诉你哪些知识点需要回教材重新看。第二遍是攻坚只刷红色和黄色标记的题。每道题必须动笔写到纸上不允许只在脑子里过思路。写完后对照答案把错因写在题号旁边是公式记错是参数理解错还是步骤跳步。我发现跳步是期末丢分最高频的原因尤其卷积计算和矩阵乘法里省一步就错一个数。第三遍是回归时间放在考前两天。把第二遍的错题再快速做一遍重点不是单纯做对而是能说得出“这道题考的是哪一章的哪个知识点”以及“和它类似的题还有哪道”。能说出来说明你已经把习题和自己的知识体系挂钩了。这套节奏适合绝大多数人除了那些平时就坚持做笔记的同学。如果你已经有完整的错题本第二遍可以压缩到两天重点转向自测模拟。但不管怎么调三遍里一定要留出完整动笔计算的时间视觉计算题只看不算等于没复习。3. 图像处理习题重灾区直方图均衡化、滤波与边缘检测的必练计算题3.1 直方图均衡化手算五步从灰度统计到映射表直方图均衡化是期末复习第一天就该练会的第一道题。题目通常会给你一张小尺寸的图像或者一个灰度分布表让你计算均衡化后的灰度值。手算分五步顺序不能乱。第一步统计每个灰度级 i 出现的像素个数 n_i第二步把 n_i 除以总像素数 N得到概率密度 p_i第三步计算累积概率 c_i也就是从 0 到 i 的所有 p_i 累加第四步把 c_i 乘以最大灰度级 L-1四舍五入得到新灰度值第五步根据映射关系替换原图像像素值。举一个可以练手的例子一张 4×4 图像灰度级 0716 个像素的灰度统计为 2、3、1、4、2、2、1、1。总像素数 N16概率密度依次为 0.125、0.1875、0.0625、0.25、0.125、0.125、0.0625、0.0625。累积概率为 0.125、0.3125、0.375、0.625、0.75、0.875、0.9375、1.0。映射后灰度等于累积概率乘以 7 再四舍五入得到 1、2、3、4、5、6、7、7。这道题最容易错的是累积概率的起始点。很多人会把第一个灰度级的累积概率从 0 开始写导致后面全部偏移。习惯写法是 c_0 p_0然后 c_i c_{i-1} p_i。考试时把每一行的累积概率都写出来既方便检查又能避免计算器按错。做完映射表后别急着翻篇读一下这张表本身原始灰度分布越集中映射表越容易出现较大的跳跃这就是对比度增强的来源。很多论述题问“为什么直方图均衡化能增强对比度”直接用这张表来解释比背教材结论要可信得多。3.2 平滑滤波与锐化滤波卷积核选择与边界处理滤波类计算题的常见出法是给一个 3×3 卷积核和一幅 5×5 灰度图让你算某个像素的滤波结果。想拿满分要注意两件事卷积核怎么对齐边界像素怎么处理。均值滤波的核是 1/9 乘以全 1 矩阵高斯平滑的核是二维高斯函数离散化的权重矩阵锐化滤波通常用中心大正数、周围负数的拉普拉斯算子。考试时第一步是确认题目给的是相关还是卷积。很多教材里“滤波”默认用相关但有的题目会真考卷积也就是把核旋转 180 度再计算。我的习惯是在草稿纸第一行写下“核是否翻转是 / 否”先确定这个再开始计算能避免整道题白做。边界处理一般有补零、复制边缘、镜像扩展三种。期末考试如果没有特别说明默认补零最常见但有些题目会故意标注“边界采用复制”这就是默认题的陷阱。计算 3×3 卷积时中心像素在距离图像边界 1 像素以内的区域都能用完整窗口最外圈像素需要按题目指定的边界规则补齐。建议先画一个坐标图把每个像素的位置标清楚再代入计算。很多人直接套公式不画图结果把中心像素和边缘像素搞混丢分丢得很冤。滤波结果算出来之后常会跟着一问“这个滤波结果说明什么”这时要答到具体效果上均值滤波使图像变模糊、中值滤波去除椒盐噪声、拉普拉斯锐化增强灰度跳变。用一个观察句来体现你理解滤波的意义而不仅是算了一个数字。3.3 用 Python 把课后题的数值结果验算一遍手算完之后强烈建议用 Python 验一遍。不必用深度学习框架numpy 就够因为复习阶段只需要确认映射表和卷积结果没算错。import numpy as np # 构造前文对应的 4x4 灰度图灰度级 0~7 img np.array([ [0, 1, 3, 5], [2, 3, 4, 5], [1, 3, 4, 6], [0, 3, 5, 7] ], dtypenp.float64) L 8 # 灰度级数和题目的 0~7 对应 hist np.bincount(img.astype(np.int64).ravel(), minlengthL) prob hist / hist.sum() # 概率密度 cdf np.cumsum(prob) # 累积分布 mapped np.round(cdf * (L - 1)).astype(np.int64) # 最终映射表 print(原直方图:, hist) print(累积概率:, np.round(cdf, 4)) print(映射表:, mapped)逻辑说明np.bincount统计每个灰度级出现次数minlengthL保证没有出现的灰度级也会补 0防止后续数组长度不一致。np.cumsum完成累积概率累加np.round(cdf * (L - 1))对应第四步的四舍五入。参数说明L必须和题目灰度级对齐题目写 0255 就改成 256否则映射结果整体偏小自测时立刻能看到差异。验算卷积时同理用scipy.ndimage.convolve传modeconstant就是补零modenearest就是复制边缘。建议复习阶段别去背 OpenCV 里filter2D的边界参数差异把ndimage的几种 mode 和边界处理方式对应清楚考试手算时能立刻反应出来。4. 特征与几何视觉HOG 维度计算、SIFT 匹配与相机标定的解题模板4.1 HOG 特征维度计算cell、block、stride 三个参数怎么联动HOG 维度计算是第3版教材习题里最容易被扣分的点因为三个参数能组合出各种刁钻数字。题目通常给四个量cell 大小、每个 block 包含几个 cell、block 的滑动步长 stride以及检测窗口尺寸。计算维度分三步。第一步每个 cell 的方向直方图维度等于方向柱数 bins常见取 9。第二步一个 block 的特征维度等于 block 内 cell 数乘以 bins如果 block 是 2×2 个 cell那就是 36 维。第三步计算整个检测窗口里能滑出多少个 block 位置把横向位置数和纵向位置数相乘再乘以 block 维度。举例说明一组经典参数检测窗口 64×128cell 取 8×8block 取 2×2 个 cell也就是 16×16 像素stride 取 8 像素bins 取 9。横向位置数为 (64 - 16) / 8 1 7纵向位置数为 (128 - 16) / 8 1 15block 总数 105特征维度 105 × 36 3780。这个 3780 是经典行人检测的配置不少习题直接以它为标准答案。考试翻车点有两个。一是窗口尺寸和 block 尺寸的单位不一致题目给的是像素有人却拿 cell 个数去相减二是 stride 大于 block 的时候重叠区域的理解容易乱。位置数公式始终用“窗口尺寸减 block 尺寸除以 stride再加 1”与重叠多少无关。答题时还要补一句“block 重叠越少特征越少计算量越小重叠越多对局部变形的鲁棒性越好”这句话能证明你理解参数联动而不是只会套公式。SIFT 相关的题不太常考完整维度计算更容易出的是“SIFT 特征向量为什么是 128 维”以及“尺度不变性从哪来”。128 维来自 4×4 邻域乘以 8 方向这个拆解要能清晰写出。答题时先讲高斯尺度空间构造再讲关键点方向分配和描述子采样最后落到归一化消除光照影响。按这个顺序答结构比死记答案靠谱。4.2 相机成像模型习题从世界坐标到像素坐标的矩阵推导几何视觉的推导题核心是相机成像模型。题目形式通常是给出空间点坐标、相机内参和外参求像素坐标或者反过来给出多组对应点求投影矩阵参数。我的解题顺序固定四步。第一步世界坐标 X_w 左乘外参矩阵 [R | t]得到相机坐标 X_c。第二步相机坐标除以 z 轴分量得到归一化坐标 (x, y, 1)。第三步左乘内参矩阵 K得到像素坐标 (u, v, 1)。第四步如果题目要求齐次坐标直接写成一行矩阵像素齐次坐标 K[R | t] × 世界齐次坐标。内参矩阵 K 是 3×3 矩阵fx 在左上角fy 在中间主点 (cx, cy) 放在第三列前两行。fx 和 fy 单位是像素由焦距除以像元尺寸得到。如果题目直接给焦距和像元尺寸记得先换算。这一步是推导题最大的丢分点很多人直接把焦距的毫米数当像素数代入算出来的坐标完全不合理。外参矩阵 [R | t] 中的 R 是 3×3 旋转矩阵t 是 3×1 平移向量。常见题型是给定旋转角度和旋转轴要求写 R。我一般先判断旋转是绕 x 轴、y 轴还是 z 轴再套对应旋转矩阵模板。绕 x 轴旋转时y 和 z 分量发生变化x 分量不变记反这个后面所有坐标数据全错。4.3 一道标定计算题的完整手算过程内参、外参、畸变取舍相机标定习题在期末卷里通常以计算题或简答题出现。计算题会给一组“空间点坐标加对应像素坐标”的数据让你估计内参或投影矩阵。手算时不可能走完整的最小二乘流程题目多半会把计算简化到“验证某个参数”要学会现场取舍。最常见的简化题型是假设棋盘格平面为世界坐标系的 z0 平面给出三到四个角点的世界坐标和对应像素坐标求单应矩阵。处理思路很简单写出单应矩阵 H 的 3×3 形式把齐次坐标代入建立 8 个方程再用 h331 做归一化消元求解。考试时不需要真的解完整个方程把式子列对是核心。我一般按“把世界坐标写成齐次、把像素坐标也写成齐次、把两个方程按行展开”三步列方程组然后再代入题目给的简化条件。只要方程列对就算最后没算完推导题的过程分也能保住大半。标定简答题常问“为什么要用棋盘格”“畸变参数有哪些”。回答要点是棋盘格角点能被角点检测算法稳定提取格点间距已知能提供精确的 2D-3D 对应关系畸变分径向畸变和切向畸变径向用 k1、k2 描述切向用 p1、p2 描述。期末复习阶段知道径向和切向两类就够别为了一个判断题去记五阶模型的完整展开式性价比太低。5. 避坑指南期末刷题常见的六个翻车点与修正方法5.1 直方图均衡化算错灰度级范围映射表一步错步步错现象手算直方图均衡化时映射表算出来一堆相同值或者最大灰度级不符合题目要求。原因把灰度级数 L 和最大灰度值搞混了。题目给“0255”时 L256结果应该落在 0255题目给“07”时 L8。很多人直接拿 255 当 L或者把 8 当最大灰度值去乘映射范围从一开始就是错的。解决写公式时固定用新灰度 round(累积概率 × (L - 1))动笔前先把 L 和 L-1 两个数字写在草稿纸的第一行。均衡化后第一项通常接近 0 的整数第三项到后面逐渐增大如果映射表出现整体数值偏小或者大量重复立刻回头查累积概率的起点。5.2 卷积和边界处理被忽略边缘检测结果全偏现象算 3×3 卷积时图像最外圈像素没有参与计算或者题目标注的边界规则完全没用上导致边缘检测结果靠近边框的部分全错。原因教材里的滤波例题经常只算内部像素考试题却要求对所有像素计算。很多人默认“卷积核中心落在哪窗口就开在哪”没考虑窗口超出图像边界时需要用补零、复制或镜像来填充。解决看到滤波题先标出图像尺寸和核尺寸确认外圈像素需要补几圈。没有特别说明就写“补零”题目写了“边界复制”或“镜像对称”就按规则补值。验算时用scipy.ndimage.convolve切换 mode 值跑一遍结果一对比手算哪里漏了立刻清楚。5.3 相机标定把内参外参记反坐标变换永远对不上现象用相机模型反推世界坐标时结果总差一大截反复检查计算都没发现错误最后发现把内参矩阵的元素填错位置或者把外参当成了内参。原因内参描述的是相机内部如何把三维点投影到像素平面外参描述的是世界坐标系相对相机坐标系的旋转和平移。两者顺序固定为像素 K × [R|t] × 世界但题目数据一多人容易只想着代公式忘了各自矩阵的维度和物理含义。解决养成标维度的习惯。K 是 3×3[R|t] 是 3×4世界坐标是 4×1连乘得到 3×1 的像素齐次坐标。每次写矩阵时在右上角标一下维度立刻能发现填错位置的问题。考前默写一遍 K 和 [R|t] 的标准布局考试时往对应位置填数字就够。5.4 概念题当论述题写答得越多扣得越狠现象名词解释写了大半页成绩出来反而比只写三行的人低。批注经常是“要点不全答非所问”。原因概念题评分是按关键词给分的不是按字数给分。写了一堆应用场景和举例核心定义反而被淹没阅卷时找不到得分点。比如“图像分辨率”重点在“图像数据的采样密度”多写一句“分辨率越高图像越清晰”对得分没有帮助。解决每个重要概念整理成“一句话定义 两个性质 一个例子”的模板。Canny 就写“基于多级处理的边缘检测算法包含高斯平滑、梯度计算、非极大值抑制、双阈值连接常用于轮廓提取”SIFT 就写“基于尺度空间的局部特征描述子对尺度缩放、旋转和光照变化具有不变性常用于图像配准”。背诵阶段不要背整段文字背关键词串考试时用连接词串起来。5.5 计算结果不验算坐标系、灰度范围、指标公式各错各的现象习题刷完一遍自测卷分数还是低翻回错题发现都是符号、单位、公式顺序的问题而不是知识不懂。原因计算步骤多数字写错一位后面全错。特别是 HOG 维度、灰度映射、坐标矩阵这三类题一个中间值错了最终答案完全不同但复习时没有老师帮你批改很容易带着错误认知继续刷。解决给每类计算配一个验算方式。直方图均衡化验映射表的单调性累积概率单调不减映射结果也应单调不减HOG 维度验位置数是否为整数矩阵变换验最后一行的齐次坐标是否为 1。能用 Python 验的就不手算第二遍脚本精简到 10 行以内放在手机备忘录里随时对照。5.6 刷完习题没归档考前只能从头再来现象考前三天想快速过一遍错题翻笔记发现各种纠错散落在好几个本子上没有按章节归类每道题都要重新看上下文。原因第二遍刷题时只标了“错”没有标错因和知识点归属。期末复习面对六七个章节每章几十道题不加标签等于白刷。解决刷题时在题号旁标三个信息章节号、题型、错因。错因可以简写为“公式记错”“跳步”“边界漏算”“矩阵顺序错”。考前直接翻错因列表看到“公式记错”出现最多就回去背公式看到“跳步”最多就多写几道完整步骤题。这个归档习惯比多做一套题有用得多。6. 期末冲刺的最后一招自己出题自测把“背答案”变成“做判断”6.1 三种自出题模板计算题变体、判断题改错、简答设问复习到考前两天与其再刷一遍课后习题不如自己出三套小卷每套只出本模块最要紧的五道题。第一种是计算题变体。把直方图均衡化的灰度级从 8 改成 16把 HOG 的检测窗口从 64×128 改成 32×64把滤波核从 3×3 换成 5×5重新算一遍。参数一改之前只背公式不理解通用性的问题就会暴露。第二种是判断题改错。把教材结论故意改错再写出来比如“SIFT 对光照变化绝对不变”其实是“对线性光照变化鲁棒并非绝对不变”。自己判断对错比抄正确答案记忆深得多。第三种是简答设问。设想自己是老师从一个概念反推可能的考法“为什么要做非极大值抑制”“Canny 双阈值变大对边缘数量有什么影响”把问题列出来然后在纸上快速作答。6.2 用限时模拟控制考场节奏90分钟卷面这样分配自测时严格限时。一套 90 分钟的期末卷我的分配建议是选择判断题 15 分钟概念简答 20 分钟计算题 40 分钟推导设计题 15 分钟。计算题占时间最多也是最容易提分的部分。自测完对照时间看如果某一类题超时严重说明对应的步骤模板还不熟回到第3、4章再过一遍。频繁超时的地方就是考场上最容易慌的地方考前暴露比考场上暴露好太多。6.3 错题本的最后一轮只刷“明知道会错”的题最后一轮错题本不按顺序刷只挑那些你“闭着眼都能念出错因”的题重新做。比如一看到直方图均衡化就想起上次把 L 写成 255那就只刷这一类型不用再管其他基础题。做完之后顺手在错题本上加一行“此题考点灰度级数与最大灰度值”。这一行备注比题本身更有用。背备注比背题快考场上一碰到同类题你第一时间想到的是备注而不是原题。这是我复习计算机视觉类课程一直保留的习惯。最开始也被期末卷里的计算题坑过几次后来才慢慢总结成这套流程。把这三招用起来手头这些习题就不再是考前负担而是真正能帮你拿到分的东西。希望帮到你。本文还有配套的精品资源点击获取