logo资料库

贾志刚Opencv图像处理视频教程学习笔记.pdf

第1页 / 共124页
第2页 / 共124页
第3页 / 共124页
第4页 / 共124页
第5页 / 共124页
第6页 / 共124页
第7页 / 共124页
第8页 / 共124页
资料共124页,剩余部分请下载后查看
OpenCV图像处理教程学习笔记摘要
1.1 OpenCV介绍与环境搭建
1.2 加载、显示、修改、保存图像
1.3 像素指针、像素范围、掩膜操作
1.4 Mat对象
1.5 读写像素
1.6 图像混合
1.7 调整图像亮度与对比度
1.8 绘制形状与文字
1.9 平滑模糊滤波
1.10 膨胀与腐蚀
1.11 形态学操作
1.12 形态学应用-提取水平与垂直线
1.13 图像金字塔-上采样与降采样
1.14 基本阈值操作
1.15 自定义线性滤波
1.16 卷积边界处理
1.17 Sobel算子
1.18 Laplacian算子
1.19 Canny边缘检测
1.20 霍夫线变换
1.21 霍夫圆变换
OpenCV图像处理|1.1 OpenCV介绍与环境搭建 1.1 OpenCV介绍与环境搭建 1.1.1 介绍  OpenCV(Open Source Computer Vision Library)开放源代码计算机视觉库,主要算法涉及图 像处理、计算机视觉和机器学习相关方法。OpenCV 其实就是一堆 C 和 C++语言的源代码文件, 这些源代码文件中实现了许多常用的计算机视觉算法。OpenCV 可用于开发实时的图像处理、计 算机视觉以及模式识别程序。 OpenCV由一系列C函数和C++类构成,它有C,C++,Python和java接口,当前SDK(Software Development Kit软件开发工具包) 已经支持C++、Java、Python等语言应用开发, 当前 OpenCV本身新开发的算法和模块接口都是基于C++产生。  其覆盖了工业产品检测、医学成像、无人机飞行、无人驾驶、安防、 卫星地图与电子地图拼接、 信息安全、用户界面、摄像机标定、立体视觉和机器人等计算机视觉应用领域。 OpenCV是最初由英特尔公司发起并开发,以 BSD 许可证授权发行,可以在商业和研究领域中免 费使用,现在美国机器人公司Willow Garage 为 OpenCV 提供主要的支持。主要贡献人物李信弘 ( Shinn Lee)、Vadim Pisarevsky、Gary Bradski。 (其他付费的机器视觉开发包Matlab、 Halcon、VisonPro、Sapera、EVision)。  opencv官网:opencv.org/  opencv库各版本下载:sourceforge.net/project opencv.org/releases.htm  
opencv中文网站论坛:opencv.org.cn/  opencv 1.x中文文档:wiki.opencv.org.cn/inde  opencv 2.3文档:opencv.org.cn/opencvdoc  opencv 3.4文档:docs.opencv.org/master/  图像处理(Image Processing)是用计算机对图像进行分析,以达到所需结果的技术。图像处理 技术一般包括图像压缩,增强和复原,匹配、描述和识别3个部分。数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和 技术。数字图像是指用工业相机、摄像机、扫描仪等设备经过拍摄得到的一个大的二维数组,该数 组的元素称为像素,其值称为灰度值。 计算机视觉(Computer Vision)是指用摄像机和电脑代替人眼对目标进行识别、跟踪和测量等机 器视觉,并进一步做图形处理,使之成为更适合人眼观察或仪器检测图像的一门学科。 1.1.2 体系结构 
将每个模块中的源文件编译成一个库文件 ,用户在使用时, 仅将所需的库文件添加到自己的项目 中,与自己的源文件一起连接成可执行程序即可。 视觉本质上分为3部分:图像处理、模式分类(Object Detection、Machine Learning、2D Feature)、场景处理(相机校正和三维重建)。  旧版opencv包含如下部分:  OpenCV主要lib的作用:  opencv_core : core函数库(基本的数据结构,架构和线性代数, DFT, xml 和yam i/o接口函 数等) opencv_imgproc / opencv_imgcodecs: -图像处理函数库(滤波,高斯模糊,形态学膨胀/腐 蚀,线性缩放图像大小,图像几何变化,颜色结构变化,计算直方图等) opencv_highgui : 用户交互部分,GUI,图像和视频窗口函数库  opencv_ml :统计机器学习模型函数库( SVM,决策树,级联等) 
opencv_features2d :二维特征检测器和描述子函数库( SURF,FAST 等,包括一种新的特征描述 子匹配结构) opencv_video :动态分析和物体追踪函数库(光流法,移动模板,背景消除)  opencv_objdetect :图像目标检测函数库( haar小波 & LBP人脸检测和识别, HOG人检测等) opencv_calib3d :摄像头标定,视觉匹配和三维数据处理函数库  opencv_flann :近似最近领域搜索库和OpenCV分装器  opencv_contrib :最新贡献但不是很成熟的函数库  opencv_legacy :过时代码,为了后续代码兼容性而存在  opencv_gpu :用CUDA来加速一些openCV函数的类库(相对不太稳定,但对openCV开发非常 有帮助) OpenCV中已经包含如下核心功能:  - 二维和三维特征工具箱  - 运动估算  - 人脸识别系统  - 姿势识别  - 人机交互  - 移动机器人  - 运动理解  - 对象鉴别  - 分割与识别  - 立体视觉  - 运动跟踪  - 增强现实(AR技术)  基于上述功能实现需要,OpenCV中还包括以下基于统计学机器学习库:  - Boosting算法  - Decision Tree(决策树)学习  - Gradient Boosting算法  - EM算法(期望最大化)  - KNN算法  - 朴素贝叶斯分类  - 人工神经网络  - 随机森林  - 支掌向量机  详细模块介绍见《OpenCV3编程入门》/毛星云。  1.1.3 搭建开发环境 
一、Windows+Visual Studio+OpenCV3.4  (1)安装VS2017  软件下载地址visualstudio.com/zh-han   (2)下载OpenCV3.4  (3)配置windows环境变量:  加分号粘贴到Path;E:\OpenCV\opencv3.4\build\x64\vc15\bin  (4)在VS2017配置属性管理器Debug x64:  VC++目录:   (Include Directories) 
包含目录(头文件)E:\OpenCV\opencv3.4\build\include  E:\OpenCV\opencv3.4\build\include\opencv  E:\OpenCV\opencv3.4\build\include\opencv2  (Library Directories)  库目录(库文件) E:\OpenCV\opencv3.4\build\x64\vc15\lib  连接器-输入:  (Linker-Input-Additional Dependencies)  附加依赖项 opencv_world320d.lib  创建工程:
分享到:
收藏