快速上手流程
安装
使用预构建二进制、包管理器(pip install opencv-python)或从源码编译。
读取图像
使用 cv::imread / cv2.imread 加载图像到 Mat / ndarray。
处理
调用 imgproc 等模块的函数:滤波、变换、检测、推理。
输出
使用 imwrite、imshow 或 highgui 显示与保存结果。
学习路径(四阶段)
入门
- 安装(pip / 预构建包)
- imread / imshow / waitKey
- Mat 与 ndarray 基础
- BGR 与色彩空间
基础
- 几何变换 resize/warp
- 滤波与边缘检测
- 阈值与形态学
- 直方图
- 轮廓 findContours
进阶
- 特征检测 ORB/SIFT
- 特征匹配与单应性
- 相机标定
- 立体视觉与视差
- 视频分析与跟踪
应用
- DNN 模型加载推理
- 人脸/对象检测
- 全景拼接 stitching
- OpenCV.js 浏览器部署
- 性能优化与 SIMD
教程系列
OpenCV 教程(C++)
官方主教程集合,涵盖入门、图像处理、视频分析、特征检测、目标检测与深度学习。
Python 教程
OpenCV-Python 教程:加载/显示图像、遍历像素、绘图、变换、滤波、轮廓、直方图等。
JavaScript(OpenCV.js)教程
在浏览器中使用 OpenCV.js 进行图像处理与计算机视觉的教程。
Contrib 额外模块教程
opencv_contrib 中额外模块(非核心发行版)的使用教程。
使用预构建二进制文件
在你自己的项目中使用 OpenCV 预构建二进制文件的入门指南(含 CMake/g++ 配置)。
对象检测教程(objdetect)
Haar 级联、LBP、DNN 人脸与通用对象检测。
Python 教程目录(中文说明)
OpenCV 简介 ↗
安装与环境配置、初次运行验证。
GUI 特性 ↗
显示/保存图像与视频、鼠标事件、滚动条(trackbar)。
核心操作 ↗
像素编辑、几何变换、性能优化、数学工具。
图像处理 ↗
变换、滤波、形态学、直方图、轮廓、边缘检测、图割等。
特征检测与描述 ↗
Harris、Shi-Tomasi、SIFT、SURF、ORB、特征匹配。
视频分析 ↗
光流、Meanshift/Camshift、背景减除、目标跟踪(KCF/CSRT 等)。
相机标定与 3D 重建 ↗
棋盘格标定、立体校正、视差、深度估计、PnP。
机器学习 ↗
KMeans、SVM、决策树等在 OpenCV 中的使用。
计算摄影 ↗
图像去噪、HDR、非真实感渲染等。
对象检测(objdetect) ↗
Haar 级联与基于 DNN 的检测。
OpenCV-Python 绑定 ↗
绑定如何生成、如何贡献 Python 封装。
C++ 主要主题
入门:加载、显示与保存图像
imread / imwrite / imshow 与 highgui 窗口。
Mat 基础:复制、ROI 与性能
浅拷贝 vs clone、vector<Mat>、时钟计时。
图像处理:线性/非线性滤波
blur、GaussianBlur、medianBlur、bilateralFilter。
形态学:腐蚀、膨胀与开闭运算
erode/dilate、getStructuringElement。
特征检测与描述
GoodFeatures、FAST、ORB、BF/FLANN 匹配。
视频分析:光流与跟踪
calcOpticalFlowFarneback、 trackers。
对象检测(含 DNN)
Haar 级联与 cv::dnn 检测模型。
图像拼接入门
stitching 模块流水线。
示例:读取并显示图像(Python)
import cv2
img = cv2.imread("example.jpg")
if img is None:
raise FileNotFoundError("无法读取图像")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
edges = cv2.Canny(gray, 50, 150)
cv2.imshow("edges", edges)
cv2.waitKey(0)
cv2.destroyAllWindows()更多可运行片段请查看站内示例代码。