)
OpenCV 项目开发完整知识体系C 版适配 Qt 联合开发一、前置必备基础1. C/C 基础工业项目主流用 C OpenCV指针、引用、数组、内存堆 / 栈、动态内存面向对象类、继承、智能指针、命名空间STLvector、map、string、迭代器OpenCV 大量容器交互文件 IO、二进制读写、函数重载、模板2. 计算机数学基础图像处理核心线性代数矩阵、向量、矩阵运算、转置、逆矩阵、特征值数字图像基础像素、通道单通道灰度图、3 通道 RGB、4 通道 RGBA图像深度uint8、float32、float64、位深差异色彩空间RGB、BGROpenCV 默认、HSV、YCrCb、LAB分辨率、ROI 感兴趣区域、图像坐标原点基础微积分梯度、导数边缘检测原理几何变换坐标变换、旋转、平移、透视、仿射矩阵3. 编译与工程基础和 Qt 配套高频CMake 语法链接 OpenCV 库、头文件路径、静态 / 动态编译MSVC/GCC 编译器、运行库/MT /MD冲突问题Windows dll、Linux so 动态库依赖、交叉编译嵌入式第三方库集成FFmpeg、Qt、Eigen二、OpenCV 核心基础模块必学1. 核心数据结构cv::Mat图像矩阵内存存储机制、深浅拷贝、clone/copyTocv::Scalar、cv::Point、cv::Size、cv::Rect、cv::RotatedRectcv::Vec、cv::Matx小型矩阵、像素向量InputArray / OutputArray函数通用参数封装2. 图像读写与显示imread /imwrite 读取保存图片支持 jpg/png/tiff/bmpimshow、waitKey 窗口显示Qt 结合Mat ↔ QImage 互转视频读写VideoCapture读取摄像头 / 本地视频VideoWriter保存视频图像通道拆分合并 split/merge3. 像素操作与基础运算直接遍历像素、ptr 指针高效遍历、at 安全访问图像加减乘除、阈值threshold、自适应阈值adaptiveThreshold位运算与或非异或掩膜 mask 抠图核心三、图像预处理所有视觉项目第一步滤波降噪均值模糊、高斯模糊 GaussianBlur、中值滤波 MedianBlur双边滤波 BilateralFilter保边去噪形态学操作腐蚀 erode、膨胀 dilate、开运算、闭运算、形态梯度、顶帽 / 黑帽自定义结构元 getStructuringElement色彩处理cvtColor 色彩空间转换通道分离、对比度亮度调整、直方图均衡 equalizeHist几何变换缩放 resize、平移、旋转 warpAffine、翻转 flip透视变换 warpPerspective、四点矫正、图像裁剪 ROI四、特征检测与轮廓机器视觉、检测、定位核心边缘检测Sobel、Laplacian、Canny 边缘检测轮廓处理findContours 查找轮廓、drawContours 绘制 轮廓面积、周长、外接矩形、最小包围圆、旋转矩形、多边形拟合 approxPolyDP 轮廓层级、筛选目标物体角点特征Harris 角点、Shi-Tomasi 亚像素角点描述子匹配图像检索、模板匹配模板匹配 matchTemplate固定物体定位 SIFT/SURF/ORB 特征点匹配、FLANN 匹配器、单应矩阵 Homography五、相机标定与三维视觉工业视觉必备针孔相机模型、内参矩阵、畸变系数单目标定 calibrateCamera、棋盘格标定板图像去畸变 undistort立体视觉双目相机、视差计算、三维点云重建 reprojectImageTo3D六、目标检测、分割、机器学习模块1. 传统机器学习OpenCV 内置 MLKNN、SVM、决策树、随机森林样本训练、模型保存加载 xml2. 深度学习模块 DNN落地最常用dnn::readNet 加载模型YOLO、SSD、MobileNet、ResNet支持框架Caffe、TensorFlow、ONNX、Torch图像预处理归一化、通道转换、resize 适配网络输入推理前向传播 forward、解析检测框、置信度过滤、NMS 非极大值抑制CUDA 加速推理、OpenVINO 加速3. 图像分割分水岭算法 watershed、GrabCut 前景抠图七、视频与运动分析背景建模MOG2、KNN 背景减法器运动物体提取光流法 Lucas-Kanade跟踪运动特征点目标追踪 TrackerCSRT、KCF、MOSSE单目标实时跟踪八、配套拓展工具库商用项目高频搭配Eigen矩阵运算和 OpenCV Mat 互相转换三维计算FFmpeg编解码、多路视频流、rtsp/rtmp 网络视频OpenCV VideoCapture 底层依赖Qt界面展示 Mat、摄像头实时画面、绘图交互、参数控制面板PCL三维点云处理搭配 OpenCV 双目重建ZBar/ZXing二维码、条形码识别OpenVINO/TensorRTAI 推理加速九、工程实战能力商业项目必备1. 性能优化解决卡顿Qt 界面开发重点Mat 内存复用避免频繁 clone 分配内存指针遍历替代 at、缩小处理 ROI 减少计算量多线程分离图像算法与 UIQt moveToThreadGPU CUDA 加速 cuda::GpuMat图像金字塔分层处理降低分辨率提速2. 工程架构算法分层图像预处理模块、检测模块、识别模块、相机模块解耦配置文件JSON/INI 保存阈值、网络模型路径、相机参数日志系统算法耗时、报错记录模型管理动态加载 DNN 模型支持多模型切换3. 跨平台部署WindowsCMake 编译、打包 dll 依赖Linux静态编译、依赖 so 打包嵌入式 ARM交叉编译 OpenCV、裁剪无用模块、NEON 加速4. 常见业务场景落地知识工业视觉尺寸测量、缺陷检测、工件定位、二维码读取安防视频运动检测、人脸抓拍、目标跟踪图像处理工具图片批量处理、滤镜、矫正AI 视觉YOLO 目标检测、分类、语义分割嵌入式视觉摄像头实时采集、低功耗优化十、和 Qt 联合开发必备知识点你重点需要cv::Mat↔QImage↔QPixmap高效互转避免内存泄漏QLabel 实时刷新摄像头画面局部刷新防闪烁算法线程与 UI 线程分离信号槽传递图像数据Qt 界面绘制叠加检测框、文字、关键点CMake 同时链接 Qt OpenCV 双库工程配置打包时同时部署 Qt 运行库 OpenCV dll推荐学习路线C 数字图像基础 → 2. Mat 基础、图像读写、像素操作 → 3. 预处理滤波、形态学、色彩变换 → 4. 轮廓、模板匹配、特征点 → 5. DNN 深度学习推理 (YOLO 优先) → 6. 视频采集、目标跟踪 → 7. CMake 工程 Qt 联调 → 8. 性能优化、项目落地部署