创新实践期末考试复盘与知识点
一、单选题
单选题里有不少 MOOC 原题的影子,但也混进了不少 PPT 细节。
1. 切换到上级目录的命令
点评: 这一题比较基础,终端里切换到上一级目录使用 cd ..。
知识点: cd 用于切换目录,.. 表示当前目录的上级目录。
2. 图像形态学中的收缩与像素区域变化
点评: 我没记错的话这题好像是一个错题,前面强调收缩,然后最后来了个像素增多,疑似拼好题,收缩是腐蚀,像素增多是膨胀。
知识点: 腐蚀会让前景区域变小,常用于去除小噪声;膨胀会让前景区域变大,常用于填补空洞或连接断裂区域。
3. Python 中的与运算
点评: python的与运算是and,而不是&
知识点: and 是Python逻辑运算符,判断表达式真假;。
4. LCD1602 英文字符的编码方式
点评: 这个题ppt里面好像也没有,可能是mooc视频里讲了?不太清楚,有二进制、十六进制、ASCII和国际码,猜一下ASCII
知识点: LCD1602 显示英文字符时通常按字符编码写入显示数据,常见英文字符可对应 ASCII 编码。
5. 检测物体遮挡的传感器
点评: 这题直接选光电传感器,高中光电门好吧。
知识点: U 型光电开关由红外发射器和接收器构成,两者位于 U 型槽两侧并形成光轴。当物体经过 U 型槽并阻断光轴时,光电开关会输出检测信号。
6. OpenCV 色彩阈值化函数
点评: 如果刷过 MOOC 题并记住了常见 OpenCV 代码,这题应该能直接选 cv2.inRange()。有意思的是,后面大题里的注释似乎也把答案露出来了。
知识点: cv2.inRange(hsv, lower, upper) 用于判断像素是否落在指定颜色范围内,常用于 HSV 空间下的颜色阈值分割。
7. 人脸检测与人脸识别的区别
点评: ppt上原话。
知识点: 人脸检测:指对于任意一幅给定的图像/视频帧,采用一定的策略对其进行搜索以确定其中是否含有人脸,如果是则返回一脸的位置、大小和姿态。(有没有人脸)
人脸识别:基于人的脸部特征信息进行身份识别的一种生物识别技术。(是谁的脸)
8. 二维码解码操作的库函数
点评: 巧了,前一天瞅到了这个: pyzbar。
知识点: pyzbar 的核心解码函数是 decode(),可用于识别二维码、条形码等编码图像。
9. 树莓派的主存卡类型
点评: 如果看ppt了就知道是 TF 卡,也就是 Micro SD Card。
知识点: 树莓派常通过 Micro SD/TF 卡安装系统并存储数据。
10. PCF8591 的功能
点评: PCF8591 文档首页就写得很清楚:它是 8 位 A/D 和 D/A 转换器。
知识点: PCF8591 是带 I2C 接口的 8 位数据采集器件,常见功能包括多路模拟输入、模拟输出和 A/D、D/A 转换。
二、多选题
多选题是整张卷子的重灾区。最难的地方不是完全不会,而是不确定到底该不该四选,选多了又害怕。
1. 属于开关量类型的传感器和器件
点评: 四个选项有三个带开关:轻触开关、触摸开关、倾斜开关,剩下一个不知道选不选,忘了是个啥了。
知识点: 开关量输出通常只有两种状态,例如高/低电平、通/断、0/1。
2. cv2.flip(img, flipcode) 中 flipcode 的含义
点评: 这题算运气好,考前刚好扫到过,直接四选
知识点: flipcode=0 表示沿 x 轴翻转;flipcode>0 表示沿 y 轴翻转;flipcode<0 表示 x、y 轴同时翻转。
3. Haar 分类器的重要组成
点评: 不太自信考场上,连着两个四选。
知识点: Haar 分类器通常包括 Haar-like 特征、积分图方法、AdaBoost 训练和级联分类器。
4. 二维码相比一维码的优势
点评: 这题比较遗憾。当时没理解“二维码纠错能力更强”,以为二维矩阵错一块会更难恢复。实际上二维码正是因为有纠错编码,容错能力更强。
知识点: 一维码主要在一个方向表达信息;二维码在水平和垂直两个方向存储信息,容量更大,可表达更复杂的数据,并且通常具有更强的纠错能力。
5. Python 循环语句
点评: 这题比较基础,循环语句就是 for 和 while。if 是条件判断,break 是循环控制语句。
知识点: for 常用于遍历序列或可迭代对象;while 根据条件反复执行。
6. MPU6050 的特征
点评: 这题有一个选项它是I2C总线,所以不能与其他传感器合用包错的,但是A选项说MPU6050组成上包括三轴陀螺仪、三轴加速度计,也不知道对不对,少说一个,草台班子。
知识点: MPU6050 是 6 轴运动跟踪设备,包含三轴陀螺仪、三轴加速度计和数字运动处理器,并带有片上温度传感器。它通常通过 I2C 总线与微控制器通信,也可通过辅助 I2C 总线连接其他传感器。
7. 图像掩码的作用
点评: 这题 PPT 上标得比较明显,依旧四选
知识点: 掩码可用于提取感兴趣区域、屏蔽无关区域、辅助结构特征提取,以及制作特殊形状图像。
8. 图像形态学处理
点评: 依旧全是,四选。
知识点: 开运算通常是先腐蚀后膨胀,适合去除小噪声;闭运算通常是先膨胀后腐蚀,适合填补小孔洞。
9. GPIO 编码方式
点评: 终于来了一个 MOOC 原题的内容。
知识点: 常见 GPIO 编码方式包括 WiringPi、BCM 和 BOARD。BOARD 使用物理引脚编号,BCM 使用 Broadcom 芯片 GPIO 编号。
10. I2C 通信
点评: 这题是把 MOOC 里关于起始位、终止位、数据线和时钟线的内容杂合在了一起。刷过题以后会轻松很多。
知识点: I2C 主要使用 SDA 数据线和 SCL 时钟线;总线空闲时二者通常为高电平;起始条件为 SCL 高电平时 SDA 下降沿;终止条件为 SCL 高电平时 SDA 上升沿。
三、填空题
填空题应该是这张卷子的最大痛点
1. 等待键盘输入函数
点评: 后面判断题里甚至出现了 cv2.waitKey(),可以直接借来用。
知识点: OpenCV 中常用 cv2.waitKey() 等待键盘输入或控制窗口刷新间隔。
2. 树莓派开发的 SSH 工具和远程桌面工具
点评: 当时只记住了远程桌面工具,SSH 工具没有记牢。
知识点: 常见 SSH 工具是 PuTTY,远程桌面工具可使用 VNC Viewer。
3. 查看 IP 地址的命令
点评: 这题比较轻松,答案是 ipconfig。
知识点: Windows 下常用 ipconfig 查看网络配置信息;Linux/树莓派环境中也常见 ifconfig 或 ip addr。
4. 树莓派供电接口与其他接口
点评: 这题是个草台班子,ppt写的Pype-c,mooc写的Type-c,服了。
知识点: 树莓派 4B 常见供电接口为 USB Type-C;板上还包含 GPIO、HDMI、摄像头接口、显示屏接口、网口、USB 等接口。
5. GPIO 常态下的高低电平
点评: 这题不太记得了,好像是写个Pull-up。 如果是上拉输入,常态通常为高电平;如果是下拉输入,常态通常为低电平。
知识点: Pull-up 会把输入端默认拉到高电平,按键或外部电路触发时可能变为低电平;Pull-down 会把输入端默认拉到低电平。
6. 返回指定 pin 电平状态的函数
点评: 我猜想考input(),但是没证据。
知识点: GPIO.input() 用于读取某个 GPIO 当前电平状态;GPIO.output() 用于设置某个 GPIO 引脚输出高电平或低电平。
7. I2C 总线上最多可接几个 PCF8591
点评: 这题刷过 MOOC 的话会比较熟,答案是 8 个。
知识点: PCF8591 通过地址引脚组合改变地址,常见情况下可在同一 I2C 总线上挂接多个器件。
8. 有源蜂鸣器与无源蜂鸣器
点评: ppt原话
知识点: 有源蜂鸣器内置振荡器,通常发出单一提示性报警声;无源蜂鸣器需要频率脉冲驱动,可发出不同频率的声音。
9. HSV 的概念
点评: 考前晚上刚好问了一句,第二天就考到,属于意外捡到。
知识点: H 表示色相/色调 Hue;S 表示饱和度 Saturation;V 或 B 表示亮度 Value/Brightness。
10. Haar 分类器
点评: 不太记得这个考啥了,反正不会
知识点: 基于 Haar 特征分类器的对象检测技术是一种有效的对象检测方法,通常通过大量正负样本训练分类器,再用于目标检测。
11. Python 函数定义关键字
点评: 这题属于基础题,稳住就能拿分。
知识点: Python 使用 def 定义函数。
12. 轻触开关按下和松开的高低电平
点评: 这题直接痛失两分。我把高低电平写反了,整张卷子里凡是涉及高低电平的地方好像都错了。
知识点: 在常见上拉输入连接中,按键松开时检测到高电平,按键按下时接地并检测到低电平。
四、大题
判断题没有单独整理:一是数量太多,二是很多说法只要认真刷 MOOC 就能快速判断,而且答案很绝对,基本上那些只要、仅仅这些话的都是错的。
大题一:补全代码
OpenCV 目标识别代码补全
问题: 题面要求根据给出的目标识别流程补全 5 个空,核心围绕图像缩放、色彩空间转换、图像腐蚀、边界查找和质心计算。
开启摄像头:VideoStream(0).start() 或 cv2.VideoCapture(0)
读取一帧图像:vs.read()
图像尺寸缩放:(1)
色彩空间转换:(2)
指定感兴趣区域 ROI:cv2.inRange(hsv, colorLower, colorUpper)
图像腐蚀:(3)
找到指定区域的边界:(4)
计算轮廓面积并取最大:max(cnts, key=cv2.contourArea)
找到区域质心:(5)
画圆及圆心:cv2.circle()
点评: 前面几个空比较顺,后面两个很折磨了,不知道写哪个,因为绝大部分考前都是背诵,没理解那个函数是干啥的,换个说法就不会了
知识点: 这类流程通常包括 VideoStream(0).start() 或 cv2.VideoCapture(0) 开启摄像头,vs.read() 读取帧,cv2.cvtColor() 转换色彩空间,cv2.inRange() 做颜色阈值化,形态学操作去噪,cv2.findContours() 查找轮廓,cv2.moments() 计算矩并求质心,最后用 cv2.circle() 标记目标。
大题二:往年真题
这一题是 2021-2022 真题的原题,基本靠背诵。

大题三:超声波传感器
简述超声波传感器的原理以及应用场景
点评: 无语了,看都没看,只能瞎编。
知识点: 超声波传感器通过发射超声波并接收反射回波,根据传播时间和声速计算距离。常见应用包括避障、测距、液位检测、机器人导航和倒车雷达等。
大题四:项目题
围绕自己的项目作答
问题: 题目要求简述项目功能,写出使用的传感器及硬件结构图,并画出流程图。
点评: 这个每年都考,有时候还问你项目遇到过什么bug,怎么解决的,所以一定要记一记,这个还是很ok的。
大题五:补全代码
双色 LED 与 PWM 代码补全
问题: 第一问考补全连线图(答题卡给了你图,考你怎么接线);第二问题面给出双色 LED 的控制程序,要求补全 GPIO 初始化、PWM 对象创建、PWM 启动、颜色循环和资源释放函数中的空。
点评: 双色LED纯背诵题。
知识点: 双色 LED 可通过两个 GPIO 引脚分别控制红色和绿色通道,再通过 PWM 调节亮度。按题面空位整理如下:
import RPi.GPIO as GPIO
import time
colors = [0xFF00, 0x00FF, 0x0FF0, 0xF00F]
makerobo_pins = (11, 12) # PIN 物理管脚:11 红、12 绿
# GPIO 基础初始化
______(1)__________ # 使用物理引脚编号
GPIO.setwarnings(False)
______(2)__________ # 设置引脚为输出模式
GPIO.output(makerobo_pins, GPIO.LOW)
# 创建两路 PWM 对象,频率 2KHz
______(3)__________
______(4)__________
# PWM 初始占空比 0(灯熄灭)
______(5)__________
______(6)__________
def makerobo_pwm_map(x, in_min, in_max, out_min, out_max):
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min
def makerobo_set_Color(col):
R_val = col >> 8
G_val = col & 0x00FF
R_val = makerobo_pwm_map(R_val, 0, 255, 0, 100)
G_val = makerobo_pwm_map(G_val, 0, 255, 0, 100)
p_R.ChangeDutyCycle(R_val)
p_G.ChangeDutyCycle(G_val)
def makerobo_loop():
while True:
______(7)__________:
______(8)__________
______(9)__________
def makerobo_destroy():
______(10)__________
______(11)__________
GPIO.output(makerobo_pins, GPIO.LOW)
GPIO.cleanup()
if __name__ == "__main__":
try:
makerobo_loop()
except KeyboardInterrupt:
makerobo_destroy()
如果按常见写法补全,大致是:GPIO.setmode(GPIO.BOARD),GPIO.setup(makerobo_pins, GPIO.OUT),p_R = GPIO.PWM(makerobo_pins[0], 2000),p_G = GPIO.PWM(makerobo_pins[1], 2000),p_R.start(0),p_G.start(0),for col in colors,makerobo_set_Color(col),time.sleep(0.5),p_G.stop(),p_R.stop()。
总结下来就是,ppt上的细节知识点,尤其是打红的一定要细看,然后大题每年考的都比较固定。