openCV学习笔记---开门篇
2016-03-28 09:40
197 查看
1 OpenCV是什么?
OpenCV(Open Source Computer Vison Libray),是基于开源发行的计算机视觉库,实现了图像处理和计算机视觉方面的很多通用算法。
OpenCV覆盖了计算机视觉的许多应用领域,可用于解决 人机交互,物体识别,图像分区,人脸识别,动作识别,运动追踪,机器人领域的问题。
OpenCV还提供了MLL机器学习库用于统计方面的模式识别和聚类
OpenCV法院于Intel的研究中心,并在俄罗斯得到实现和优化
出现的目的:提供一个可普遍适用的计算机视觉库
2 环境配置等
学习openCV肯定得需要很多练习,即是对一些功能的验证,也是通过一些图像视频处理等的效果的展示让我对其保持持续的热情。
首先的搭建openCV的环境,openCV的既可以在windows下开发也可以在linux下开发,但是在Linux配置开发等比windows下安逸多,我选择的Linux下!具体参照之前的博客 Linux
下openCV 3.0环境搭建总结
3.开发之前我们先看看openCV3的整体框架,以便对其有一个初步的全面了解
因为是C++写的代码我们进入openCV源码的include目录中可以看到 有两个文件夹opencv 和opencv2 ,
在opencv文件夹是1.0版本最核心的内容 ,有以下几个文件
另外我们进入openCV2这个目录,发现里面有很多目录,我们打开openCV_modules.hpp文件发现里面定义了很多宏
?
可看到定义了openCV2所有组件的宏与各个目录基本对照!
calib3d :校准和3D,主要是相机校准和三位重建
contrib :人脸识别,立体匹配等(新加功能,暂不稳定)
core :核心功能,包括opencv基本数据结构,动态数据结构,绘图,数组操作函数,辅助功能与系统函数和宏,与openGL的互操作
imgproc :Image和Process ,图像处理模块,滤波,图像转换,等
feature2d: 2D功能框架, 特征检测,描述符提取、匹配器,通用描述符,关键点绘制函数和匹配功能绘制函数
flann :高纬的近似近领快速搜索算法库 包含:快速近似最近邻搜索和聚类
gpu :运用GPU加速的计算机视觉模块
highgui : 高层GUI图形用户界面
legacy : 一些废弃的代码库,保留下来作为向下兼容
ml :机器学习模块,基本上是统计模型和分类算法
nonfree :一些有专利的算法模块,包含特征检测和GPU相关的内容
.objdetect:目标检测模块,包含级联分类和Latent SVM
ocl :运用openGL加速计算视觉模块
photo :包含图像修复和图像去噪两部分
stitching:图像拼接模块
superres :超分辨率技术和相关功能模块
ts :openCV测试相关
video :视频分析模块
videostab :视频稳定相关组件
学习书籍:opencv3编程入门
OpenCV(Open Source Computer Vison Libray),是基于开源发行的计算机视觉库,实现了图像处理和计算机视觉方面的很多通用算法。
OpenCV覆盖了计算机视觉的许多应用领域,可用于解决 人机交互,物体识别,图像分区,人脸识别,动作识别,运动追踪,机器人领域的问题。
OpenCV还提供了MLL机器学习库用于统计方面的模式识别和聚类
OpenCV法院于Intel的研究中心,并在俄罗斯得到实现和优化
出现的目的:提供一个可普遍适用的计算机视觉库
2 环境配置等
学习openCV肯定得需要很多练习,即是对一些功能的验证,也是通过一些图像视频处理等的效果的展示让我对其保持持续的热情。
首先的搭建openCV的环境,openCV的既可以在windows下开发也可以在linux下开发,但是在Linux配置开发等比windows下安逸多,我选择的Linux下!具体参照之前的博客 Linux
下openCV 3.0环境搭建总结
3.开发之前我们先看看openCV3的整体框架,以便对其有一个初步的全面了解
因为是C++写的代码我们进入openCV源码的include目录中可以看到 有两个文件夹opencv 和opencv2 ,
在opencv文件夹是1.0版本最核心的内容 ,有以下几个文件
另外我们进入openCV2这个目录,发现里面有很多目录,我们打开openCV_modules.hpp文件发现里面定义了很多宏
?
calib3d :校准和3D,主要是相机校准和三位重建
contrib :人脸识别,立体匹配等(新加功能,暂不稳定)
core :核心功能,包括opencv基本数据结构,动态数据结构,绘图,数组操作函数,辅助功能与系统函数和宏,与openGL的互操作
imgproc :Image和Process ,图像处理模块,滤波,图像转换,等
feature2d: 2D功能框架, 特征检测,描述符提取、匹配器,通用描述符,关键点绘制函数和匹配功能绘制函数
flann :高纬的近似近领快速搜索算法库 包含:快速近似最近邻搜索和聚类
gpu :运用GPU加速的计算机视觉模块
highgui : 高层GUI图形用户界面
legacy : 一些废弃的代码库,保留下来作为向下兼容
ml :机器学习模块,基本上是统计模型和分类算法
nonfree :一些有专利的算法模块,包含特征检测和GPU相关的内容
.objdetect:目标检测模块,包含级联分类和Latent SVM
ocl :运用openGL加速计算视觉模块
photo :包含图像修复和图像去噪两部分
stitching:图像拼接模块
superres :超分辨率技术和相关功能模块
ts :openCV测试相关
video :视频分析模块
videostab :视频稳定相关组件
学习书籍:opencv3编程入门
相关文章推荐
- linux ssh登录安全设置
- linux上ntpd ntpdate时间同步
- vim粘贴板和系统粘贴板的共享(ubuntu-linux)
- centos系统top命令详解
- linux SPI bus demo hacking
- 网站用域名能访问,用域名IP不能访问的原因分析
- 代理模式(多线程实现状态监控)
- (原) ubuntu下用pycharm2016.1专业版配docker编译环境(docker Interpreter)
- Cannot find or open the PDB file问题的解决
- eclipse远程调试Tomcat方法[转]
- linux route命令的使用详解
- Linux C高级编程——文件操作之系统调用
- linux 查看并终止进程
- Linux进程管理之“四大名捕”!
- linux权限及ntfs文件系统权限的知识
- LFCS 系列第一讲:如何在 Linux 上使用 GNU sed 等命令来创建、编辑和操作文件
- hbase shell
- Linux SocketCan client server demo hacking
- corethink功能模块探索开发(八)净化后台首页的系统信息
- FreeBSD是UNIX系统的重要分支,其命令与Linux大部分通用,少部分是其特有。