reference:
https://docs.opencv.org/4.1.2/
基本使用
1.图片和视频,读写(2,8)
2.OpenCV基本数据类型(3)
3.OpenCV大型数据类型及操作:图像,数组(4,5)
4.绘图和注释(6)
重要理论
1.SVD分解(7)
2.滤波和卷积(10)
阈值
平滑(中值、高斯、双边滤波)
导数,梯度,拉普拉斯变换
图像形态学:膨胀,腐蚀
卷积
3.图像变换(11)
拉伸、收缩、扭曲、旋转
映射
图像修复,去噪
直方图均衡化
4.图像分析(12)
离散傅里叶变化
积分图
Canny边缘检测
Hough变换(线,圆)
距离变换(有、无标记)
分割
5.直方图和模板(13)
直方图信息:物体的颜色分布、物体的边缘梯度模板、以概率的形式表达物体位置的估计
直方图归一化、二值化、直方图比较、
反向投影:计算像素和直方图模型中像素吻合度
模板匹配、方差匹配——》高度结构化的图片
5.1 应用
手势识别:匹配直方图模型
通过帧与帧之间边缘和颜色的统计量是否有巨大变化,判断视频中场景的变换
兴趣点邻域特征组成的直方图来辨识兴趣点,进行目标识别
提取视频中颜色、边缘直方图序列,可以判断视频是否拷贝自网络
常见应用
1.轮廓(14)
查找轮廓:cv::findContours()
绘制轮廓:cv::drawContours()
联通区域分析
多边形轮廓逼近:cv::approxPolyDP()——Douglas-Peucker算法
轮廓长度:cv::arcLength()
矩形包围框:cv::boundingRect()
最小矩形框:cv::minAreaRect()
最小包围圈minEnclosingCircle()、椭圆边框fitEllipse()、轮廓最佳拟合线fitLine()、凸包convexHull()
1.1 几何学测试
检测点是否落在多边形内:pointPolygonTest()
检测轮廓是否为凸:isContourConvex()
比较轮廓:轮廓矩,中心矩位移不变性、归一化的中心矩缩放不变性、Hu不变矩的旋转不变性、形状场景法(形状场景距离、Hausdorff距离)
2.背景提取(15)
3.关键点检测,过滤,跟踪(16)
4.跟踪算法(17)
光流
Mean-shift和Camshift
5.相机模型与标定(18)
透镜畸变
矫正映射
6.投影与三维视觉(19)
人工智能
1.OpenCV 的机器学习算法StatModel
2.目标检测
Latent SVM
Bag of Words