镜头测试系统开发 · 从零到部署指南
📚 共计 30 章节
01
项目全景与需求分析
镜头测试系统是什么、为什么需要自动化、核心功能拆解、技术选型 (Python + OpenCV + PyQt5)、环境搭建 (Anaconda + VS Code + Git)
全景
需求
环境
02
Python基础速通 (上)
变量与数据类型、字符串操作、列表与字典、条件判断与循环、函数定义与调用
变量
循环
函数
03
Python基础速通 (下)
文件读写 (CSV/JSON)、异常处理、面向对象编程 (类与继承)、模块与包管理
文件
OOP
模块
04
OpenCV图像处理基础
图像读取与显示、色彩空间转换 (BGR/Gray/HSV)、几何变换 (缩放/旋转/裁剪)、滤波与边缘检测
OpenCV
滤波
边缘
05
镜头测试核心算法 (一) 清晰度
拉普拉斯方差法、Sobel梯度法、Brenner聚焦评价
清晰度
拉普拉斯
Brenner
06
镜头测试核心算法 (二) 分辨率
ISO 12233标准、SFR计算、MTF曲线绘制
分辨率
SFR
MTF
07
镜头测试核心算法 (三) 畸变
径向/切向畸变模型、棋盘格标定、畸变校正与评价
畸变
标定
校正
08
镜头测试核心算法 (四) 色彩与均匀性
CIE Lab色差、亮度均匀性 (中心-边缘)、色彩饱和度分析
色差
均匀性
饱和度
09
PyQt5桌面应用开发 (一)
环境搭建、主窗口框架 (QMainWindow)、菜单栏、工具栏、状态栏
PyQt5
主窗口
菜单
10
PyQt5桌面应用开发 (二)
核心控件:QPushButton, QLabel, QComboBox, QTableWidget, QGraphicsView
控件
表格
视图
11
PyQt5桌面应用开发 (三)
信号与槽、自定义信号、多线程 (QThread) 处理耗时任务
信号槽
多线程
QThread
12
PyQt5桌面应用开发 (四)
布局管理 (QVBoxLayout/QHBoxLayout/QGridLayout)、QSS美化、国际化
布局
QSS
i18n
13
相机控制与图像采集
工业相机SDK (海康/大恒/巴斯勒)、参数设置、实时预览与单帧抓取
相机
SDK
预览
14
测试流程编排与状态机
状态机设计 (初始化→对焦→采集→分析→报告)、YAML/JSON配置、进度与日志
状态机
配置
日志
15
数据管理与报告生成
SQLite存储、数据查询导出 (CSV/Excel)、PDF报告 (ReportLab/WeasyPrint)
SQLite
PDF
导出
16
用户权限与配置管理
多用户登录 (角色权限)、QSettings/JSON持久化、测试模板管理
权限
配置
模板
17
硬件集成与通信
串口 (光源/位移台)、TCP/IP (PLC/机械臂)、GPIB/USB控制
串口
TCP
GPIB
18
异常处理与系统健壮性
全局异常捕获、相机断连重连、数据校验与备份、看门狗定时器
异常
重连
看门狗
19
单元测试与集成测试
pytest框架、Mock硬件、测试覆盖率、CI/CD (GitHub Actions)
pytest
Mock
CI/CD
20
性能优化与多线程
图像处理流水线 (Numba/Cython)、内存管理 (对象池/缓存)、异步IO与并发
Numba
Cython
异步
21
打包与分发
PyInstaller打包EXE、NSIS安装包、自动更新 (PyUpdater)、数字签名
PyInstaller
NSIS
更新
22
部署环境搭建
Windows/Linux双平台、依赖管理 (requirements.txt/conda)、虚拟环境、开机自启
双平台
conda
自启
23
日志系统与远程监控
结构化日志 (loguru)、分级轮转、远程收集 (ELK/Fluntd)、Web看板 (Flask+ECharts)
loguru
ELK
看板
24
数据库进阶与数据分析
SQLite高级查询 (聚合/窗口)、Pandas分析 (统计/可视化)、异常值检测 (3σ/IQR)
SQL
Pandas
异常检测
25
机器视觉进阶
深度学习 (YOLO缺陷检测)、图像分类 (ResNet)、模型部署 (ONNX Runtime)
YOLO
ResNet
ONNX
26
多相机同步与并行测试
硬件/软件触发同步、多进程/多线程并行、结果合并与一致性校验
多相机
同步
并行
27
Web API与远程控制
Flask RESTful API、WebSocket实时推送、远程启停测试、移动端H5适配
Flask
WebSocket
H5
28
系统安全与数据加密
JWT认证、HTTPS/TLS通信加密、AES敏感数据加密、HMAC防篡改
JWT
AES
HMAC
29
项目文档与知识库
Sphinx API文档、Markdown+GitBook用户手册、FAQ、版本发布日志
Sphinx
GitBook
FAQ
30
实战案例与持续迭代
完整测试流程演示 (装夹到报告)、常见问题复盘、V2.0迭代路线图、开源贡献指南
实战
复盘
路线图