其中 core、highgui、imgproc 是最基础的模块,该课程主要是围绕这几个模块展开的,分别介绍如下:
- core 模块实现了最核心的数据结构及其基本运算,如绘图函数、数组操作相关函数等。
- highgui 模块实现了视频与图像的读取、显示、存储等接口。
- imgproc 模块实现了图像处理的基础方法,包括图像滤波、图像的几何变换、平滑、阈值分割、形态学处理、边缘检测、目标检测、运动分析和对象跟踪等。
对于图像处理其他更高层次的方向及应用,OpenCV 也有相关的模块实现
- features2d 模块用于提取图像特征以及特征匹配,nonfree 模块实现了一些专利算法,如 sift 特征。
- objdetect 模块实现了一些目标检测的功能,经典的基于 Haar、LBP 特征的人脸检测,基于 HOG 的行人、汽车等目标检测,分类器使用 Cascade Classification(级联分类)和 Latent SVM 等。
- stitching 模块实现了图像拼接功能。
- FLANN 模块(Fast Library for Approximate Nearest Neighbors),包含快速近似最近邻搜索 FLANN 和聚类 Clustering 算法。
- ml 模块机器学习模块(SVM,决策树,Boosting 等等)。
- photo 模块包含图像修复和图像去噪两部分。
- video 模块针对视频处理,如背景分离,前景检测、对象跟踪等。
- calib3d 模块即 Calibration(校准)3D,这个模块主要是相机校准和三维重建相关的内容。包含了基本的多视角几何算法,单个立体摄像头标定,物体姿态估计,立体相似性算法,3D 信息的重建等等。
- G-API 模块包含超高效的图像处理 pipeline 引擎
1 | # Windows下安装OpenCV,指定版本号 |
img[0,0]
:访问图像 img第0行第0列
像素点的 BGR 值。图像是 BGR 格式的,得到的数值为 [0,0,255]。img[0,0,0]
:访问图像 img第0行第0列第0个通道
的像素值。图像是 BGR 格式的,所以第 0 个通道是B通道
,会得到 B 通道内第 0 行第 0 列的位置所对应的值 0。img[0,0,1]
:访问图像 img第0行第0列第1个通道
的像素值。图像是 BGR 格式的,所以第 1 个通道是G通道
,会得到 G 通道内第 0 行第 0 列的位置所对应的值 0。img[0,0,2]
:访问图像 img第0行第0列第2个通道
的像素值。图像是 BGR 格式的,所以第 2 个通道是R通道
,会得到 R 通道内第 0 行第 0 列的位置所对应的值 255。
- 目标分类:整个图像,输入图像,输出类别。
- 目标定位:单框框出来,不做分类。
- 目标检测:画框分类
- 目标分割
- 语义分割:对每个像素进行分类,同类别会被分到一起。
- 实例分割:不同的物体分别分类
深度学习三驾马车
- 算力:CPU、GPU、FPGA
- 海量数据
- 算法
-
目标检测
两阶段方法
:提取候选框 ——> 筛选目标,例:R-CNN、SPP-Net、Fast R-CNN、Faster R-CNN单阶段方法
:直接检测目标,例:YOLO、SSD、R-FCN
-
CS231n:李飞飞人工智能入门课
-
CS229:机器学习公开课
-
CS224:自然语言处理公开课
-
人体姿态检测经典模型
- OpenPose 卡内基梅隆大学 / 卷积神经网络
- DeepCut
- RMPE(AlphaPose)
- Mask RCNN
-
边缘计算(Edge Computing)
- 与云计算相比,实时,不需要先上传云再进行计算,本地计算。
Cut
-
RMPE(AlphaPose)
-
Mask RCNN
-
边缘计算(Edge Computing)
- 与云计算相比,实时,不需要先上传云再进行计算,本地计算。
最后更新: 2021年07月14日 21:21