本项目是一款面向教育教学场景的实物展台软件,配套 USB 与 WiFi 双模摄像头硬件使用。传统教学展示依赖实物投影仪,存在布线繁琐、无法数字标注、采集内容难以保存归档等问题。本软件旨在提供一套集视频采集、实时展示、书写标注、图像采集、视频录制、OCR 文字识别、条码扫描、多媒体导出于一体的综合性桌面应用,帮助教师高效完成课堂教学展示与资料数字化归档。
本项目所有功能均本人完成。
### 二、核心功能模块
系统按业务域划分为以下核心模块:
1. **摄像头采集与连接模块**:支持 USB 与 WiFi 两种摄像头接入方式。USB 端基于 DirectShow 采集框架,封装 `IGraphBuilder`、`ICaptureGraphBuilder2`、`SampleGrabber` 等接口实现帧数据抓取;WiFi 端通过网络流采集,配套 WiFi 列表选择与自动连接。连接线程负责设备发现、自动重连与异常恢复,保障教学过程不中断。
2. **实时渲染与图像处理模块**:采用 Direct3D 9 进行视频画面渲染,Direct2D 负责绘图层叠加;内置 RGB32、YUV、色彩空间转换、旋转缩放等像素处理算法;基于 FFmpeg 完成音视频解码,支持 MJPEG 等常见格式。
3. **书写标注模块**:提供画笔、橡皮、激光笔、几何形状(三角形、圆形、矩形)等工具,支持多种笔触颜色与宽度调节;独立画板模块支持黑板书写模式,并具备对比窗口功能,便于教学演示。
4. **拍照与录像模块**:支持延时拍摄与即时拍照,可调节照片格式(JPG/BMP/PNG/PDF);录制模块配合 FFmpeg 完成 MP4 视频录制,支持亮度、对比度、饱和度、曝光、聚焦等参数实时调节。
5. **OCR 识别与条码扫描模块**:集成百度 OCR 接口,支持通用文字、表格、手写体三类识别,结果可导出为 RTF 文档;通过 zbar 库实现一维/二维码扫描识别。
6. **辅助支撑模块**:包含多语言切换(中文、英文、繁体、保加利亚语)、在线自动更新、配置管理(System.ini)、反馈建议等。
### 三、业务流程、功能路径描述
完整业务流程为:用户启动程序→欢迎页选择连接方式(USB/WiFi)→连接线程发现并接入摄像头→主界面实时预览采集画面→教师可随时进行书写标注、参数调节、拍照或录像→需要文字识别时调用 OCR 模块识别画面或图片文字→识别结果导出 RTF→课堂结束时保存归档,形成"采集→展示→标注→采集→识别→归档"的完整教学闭环。
### 四、技术特点
1. 采用多线程架构,大量自定义 TThread 子类(帧线程、按键监听线程、连接线程等)保障 UI 流畅与采集实时性;
2. USB 与 WiFi 摄像头通过独立 API 层抽象,硬件接入解耦,便于扩展;
3. 集成 FFmpeg、DirectX、libjpeg、zbar、百度 OCR、PDFLib、OpenSSL 等第三方库,功能完备;
4. 通过 System.ini 实现设备类型、画笔参数、视频参数、存储路径等配置持久化。