# PCBDetect **Repository Path**: binghai228/PCBDetect ## Basic Information - **Project Name**: PCBDetect - **Description**: No description available - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-03-06 - **Last Updated**: 2025-03-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PCBDetect 基于Qt5和OpenCV3的PCB缺陷检测系统 ## 开发环境 * Visual Studio 2017 Professional * Qt 5.11.1 * OpenCV contrib 4.1.0 * Tesseract-OCR * MindVision SDK * Asio C++ Library (非Boost版) ## 主要模块 运动控制、相机控制、人机交互界面(主界面、参数设置界面、模板提取界面、检测界面、序号识别界面等)、核心算法(模板提取算法、缺陷检测算法)、字符识别(OCR) ## 文件说明 | 文件 | 类型 | 说明 | | :---: | :---: | ----- | | PCBDetect | .h / .cpp | 程序主界面 | | PCBDetect | .ui | 程序主界面的外观设计和控件布局 | | PCBDetect | .qrc | Qt界面的资源配置文件 | | Configurator | .h / .cpp | 参数配置器,用于实现对参数配置文件的读写,
同时内部定义了用户参数类UserConfig和系统参数类AdminConfig | | RuntimeLib | .h / .cpp | 定义了运行参数类 RuntimeParams | | - | | | | LaunchUI | .h / .cpp | 启动界面 | | LaunchUI | .ui | 启动界面的外观设计和控件布局 | | SysInitThread | .h / .cpp | 系统初始化线程,启动过程中在后台执行初始化操作 | | - | | | | SettingUI | .h / .cpp | 参数设置界面 | | SettingUI | .ui | 参数设置界面的外观设计和控件布局 | | PassWordUI | .h / .cpp | 系统参数登录界面 | | PassWordUI | .ui | 系统参数登录界面的外观设计和控件布局 | | AdminSettingUI | .h / .cpp | 系统参数设置界面 | | AdminSettingUI | .ui | 系统参数设置界面的外观设计和控件布局 | | - | | | | MotionControler | .h / .cpp | 运动控制模块,用于向控制板发送控制指令,
进而控制机械运动结构的相关动作(初始化、前进、归零、复位) | | AMC98C | .h | 和控制板通信的若干内容 | | MOTION_DLL | .h | 对AMC98C.h的二次封装(因为MFC和Qt的兼容性问题) | | CameraControler | .h / .cpp | 相机控制器,用于控制相机的相关动作(初始化、拍照) | | - | | | | SerialNumberUI | .h / .cpp | 产品序号识别界面,内部集成OCR模块,用于识别产品序号 | | SerialNumberUI | .ui | 产品序号识别界面的外观设计和控件布局 | | - | | | | ImgConvertThread | .h / .cpp | 图像转换线程,管理若干图像类型转换器,
能使实现对一组分图做图像类型转换类型 | | ImageConverter | .h / .cpp | 图像类型转换器,启用单独的线程对一个分图做图像类型转换 | | - | | | | ExtractUI | .h / .cpp | 模板提取界面 | | ExtractUI | .ui | 模板提取界面的外观设计和控件布局 | | ExtractThread | .h / .cpp | 模板提取线程 | | TemplateExtractor | .h / .cpp | 模板提取器 | | ExtractFunc | .h / .cpp | 模板提取器的辅助类 | | - | | | | DetectUI | .h / .cpp | 检测界面 | | DetectUI | .ui | 检测界面的外观设计和控件布局 | | DetectThread | .h / .cpp | 检测线程 | | DefectDetecter | .h / .cpp | 缺陷检测器 | | DetectFunc | .h / .cpp | 检测核心的辅助类 | | | | | ## 错误代码 | # | 模块 | 说明 | 代码 | | :---:| :---: | :---: | :---: | | 1 | AdminConfig | 系统参数 | 0x100 ~ 0x1FF | | 2 | UserConfig | 用户参数 | 0x200 ~ 0x2FF | | 3 | RuntimeParams | 运行参数 | 0x300 ~ 0x3FF | | 4 | MotionControler | 运动控制 | 0x400 ~ 0x4FF | | 5 | CameraControler | 相机控制 | 0x500 ~ 0x5FF | | 6 | ImgConvertThread
ImageConverter | 图像类型转换 | 0x600 ~ 0x6FF | | 7 | SerialNumberUI | 产品序号识别 | 0x700 ~ 0x7FF | | 8 | ExtractUI
ExtractThread
ExtractExtractor
ExtractFunc | 模板提取 | 0x800 ~ 0x8FF | | 9 | DetectUI
DetectThread
DefectDetecter
DetectFunc | 缺陷检测 | 0x900 ~ 0x9FF | | | | | |