当下人工智能的发展可以说是前所未有的迅猛,而计算机视觉(Computer Vision)无疑是人工智能一个非常重要的分支,计算机视觉的发展也成为了很多科研人员和业界开发人员聚焦的热点。我们常常听说到的无人驾驶、智能安防、人脸识别、文字识别、以图搜图、VR/AR、3D重构等等都是以计算机视觉做为技术基础的应用实践。
在计算机视觉项目的开发中,OpenCV作为较大众的开源库,拥有了丰富的常用图像处理函数库,采用C/C++语言编写,可以运行在Linux/Windows/Mac等操作系统上,能够快速的实现一些图像处理和识别的任务。此外,OpenCV还提供了Java、python、cuda等的使用接口、机器学习的基础算法调用,从而使得图像处理和图像分析变得更加易于上手,让开发人员更多的精力花在算法的设计上。
一. OpenCV源码使用与介绍
第1部份 OpenCV入门介绍,使用和安装环境的配置
第2部份 OpenCV源码架构讲解,图像的基础知识,图像的输入输出,视频的基础知识,视频的输入输出与参数控制方法
第3部份 OpenCV中常用数据结构和函数(Point类,Size类,Rect类,Scalar类和cvtColor函数),core组件,imgproc组件
二. 图像变换的数学原理和函数使用
第4部份 图像处理,使用OpenCV实现线性滤波器、非线性滤波器和5种高级形态学滤波操作,图形缩放,图像金字塔和阈值化
第5部份 图像变换,讲解各种类型的图形变换方法,包括使用OpenCV做边缘检测用到的canny算子、sobel算子、Laplace算子,进行图像特征提取的霍夫线变换、霍夫圆变换,重映射,仿射变换和直方图均衡化
第6部份 图像分割,使用OpenCV实现常用前景检测方法,寻找物体的凸包,使用多边形包围轮廓,角点检测方法
三. 图像处理中的机器学习
第7部份 OpenCV中的机器学习ML组件,贝叶斯分类器、K近邻分类器的使用
第8部份 支持向量机SVM,期望较大化EM和决策树在OpenCV中的使用
第9部份 随机森林,boost分类器和人工神经网络在OpenCV中的使用
四. 开发案例
第10部份 案例:使用OpenCV做特征匹配,介绍当下最常用和前沿的“以图搜图”的实现方法
第11部份 案例:使用OpenCV做人脸对齐,人脸识别和人脸中的五官识别
第12部份 案例:使用OpenCV实现监控视频的行人识别与跟踪