OpenCV基本架构[OpenCV 笔记0]
最近正在系统学习OpenCV,将不定期发布笔记,主要按照毛星云的《OpenCV3编程入门》的顺序学习,会参考官方教程和文档。学习工具是Xcode+CMake,会对书中一部分内容更正,并加入cmakelist的内容。
书中大部分内容来自OpenCV文档,其实比较推荐官方文档和教程
OpenCV2.4.13: http://docs.opencv.org/2.4/index.html
OpenCV安装路径下的include文件夹包含opencv和opencv2两个文件夹。opencv文件夹包含OpenCV1的头文件,opencv2文件夹包含OpenCV2的头文件。
OpenCV2模块
opencv_modules.hpp里面存放了OpenCV2所有组件的宏。按照宏定义介绍如下:
- [calib3d] Camera Caliberation + 3D Reconstruction;
- [contrib] Contributed/Experimental Stuff, 最新添加的不太稳定的功能,新增了新型人脸识别、立体匹配、人工视网膜模型等;
- [core] core functions, 包括OpenCV基本数据结构、绘图函数、数组操作函数、系统函数和宏、OpenGL的互操作;
- [imgproc] Image Processing, 包括图像滤波、图像集合变换、直方图、结构分析和形状描述、运动分析和对象跟踪、特征检测、目标检测;
- [features2d] 2D Features, 特征检测和通用接口,关键点绘制函数和匹配功能绘制函数;
- [flann] Fast Library for Approximate Nearest Neighbors, 快速近似最近邻搜索,聚类;
- [gpu] GPU Acceleration;
- [highhui] Graphical User Interface, 媒体输入输出、视频捕捉、图像和视频的编码解码、图形交互界面接口;
- [legacy] 废弃代码,为了向下兼容
- [ml] Machine Learning: Statical Model, Normal Bayes Classifier, K-Nearest Neighbors, Support Vector Machines, Decision Trees, Boosting, Gradient Boosted Trees, Random Trees, Extremely randomized trees, Expectation Maximization, Neural Networks, MLData;
- [nonfree] 具有专利的算法模块,包括特征检测和GPU相关,不能商用;
- [objdetect] object detection: Cascade Classification, Latent SVM;
- [ocl] OpenCL-accelerated Computer Vision;
- [photo] Computational Photography, 图像修复和去噪;
- [stitching] image stitching, 图像拼接包括:拼接流水线,特点寻找和匹配图像、估计旋转、自动校准、图片歪斜、接缝估测、曝光补偿、图片混合;、
- [superres] Supper Resolution;
- [ts] OpenCV test code;
- [vedio] 视频分析组件,包括运动估计、背景分离、对象跟踪等;
- [Vediostab] Video Stabilization.
OpenCV3的改变
OpenCV3目的是为OpenCV减重,能够选择性的去掉一些臃肿的功能模块,抛弃了整体架构使用内核+插件的结构形式。在Github中,存放着正式版的OpenCV,还有opencv_contrib和opencv_extra
- opencv: https://github.com/itseez/opencv
- opencv_contrib: https://github.com/itseez/opencv_contrib
- opencv_extra: https://github.com/itseez/opencv_extra
- opencv_contrib是实验代码存放的位置,其中包括:脸部识别和文本探测、新的边缘检测器、图像修复、深度地图处理、新的流光和追踪算法等。安装方法为,在CMake中用
opencv_extra_modules_path=/modules
将模块的地址传递给主代码,并一起编译。
OpenCV基本架构[OpenCV 笔记0]的更多相关文章
- OpenCV Tricks[OpenCV 笔记3]
官方例程 事例程序位于opencv-3.1.0/samples/cpp/ 目录下,可以通过编译整个工程,编译所有的Sample Code 显示当前使用的OpenCV版本 CV_VERSION为标识当前 ...
- [terry笔记]Oracle会话追踪(二):TKPROF
接上一笔记[terry笔记]Oracle会话追踪(一):SQL_TRACE&EVENT 10046 http://www.cnblogs.com/kkterry/p/3279282.html ...
- [terry笔记]Oracle会话追踪(一):SQL_TRACE&EVENT 10046
SQL_TRACE/10046 事件是 Oracle 提供的用于进行 SQL 跟踪的手段,在日常的数据库问题诊断和解决中是非常常用的方法.但其生成的trace文件需要tkprof工具生成一个可供人 ...
- C# 利用 OpenCV 进行视频捕获 (笔记)
原文:C# 利用 OpenCV 进行视频捕获 (笔记) 简介 这个项目是关于如何从网络摄像头或者视频文件(*.AVI)中捕获视频的,这个项目是用C#和OPENCV编写的. 这将有助于那些喜欢C#和Op ...
- 数组[0]和[firstobject]的区别
数组[0]和[firstobject]的区别 [0]:数组为空时回报错 [firstobject]:数组为空时回返回nil
- Spark学习笔记0——简单了解和技术架构
目录 Spark学习笔记0--简单了解和技术架构 什么是Spark 技术架构和软件栈 Spark Core Spark SQL Spark Streaming MLlib GraphX 集群管理器 受 ...
- [OpenCV][ARM9下移植OpenCV]
[OpenCV][ARM9下移植OpenCV] 安装环境 宿主机: Red Hat Enterprise Linux Server 6.3 开发板: mini2440 相关软件: cmake-3. ...
- [猜你喜欢]冠军“yes,boy!”分享,含竞赛源代
[猜你喜欢]冠军“yes,boy!”分享,含竞赛源代码 DataCastle运营 发表于 2016-7-20 17:31:52 844 3 5 我是Yes,boy! ,来自东北大学计算 ...
- Ubuntu下多个版本OpenCV管理(Multiple Opencv version)
背景: 最近,在Nvidia的GPU嵌入式开发板Jetson TX1(简称TX1)上移植深度学习目标检测算法YOLO.在TX1上安装了官方提供的opencv版本——OpenCV4Tegra(OpenC ...
随机推荐
- 三分钟掌握 JUnit3.0
曾经公司做过一个.net的项目,在项目开发的过程中.我们採用的是分层的开发方式,大家先在一起讨论接口, 然后讨论完以后,形成文档,然后依照文档进行开发!这样就有一个问题,你必需要保证你的接口是正确的. ...
- easyui textarea IE8中无法换行
经查 原代码textarea 应用了"textbox"css样式. 默认 white-space:nowrap; 修改为 "nornal",问题解决.
- SQL Server XML Path[转]
FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作.那么以一个实例为主 ...
- hdu 3849 (双联通求桥)
一道简单的双联通求桥的题目,,数据时字符串,,map用的不熟练啊,,,,,,,,,,,,, #include <iostream> #include <cstring> #in ...
- [转]AFNetWorking使用笔记
转载自:http://blog.sina.com.cn/s/blog_719d537e01017x82.html AFNetwork是一个轻量级的网络请求api类库.是以NSURLConnection ...
- 小白日记34:kali渗透测试之Web渗透-扫描工具-Burpsuite(二)
扫描工具-Burpsuite 公共模块 0.Spider 爬网 手动爬网 先禁用截断功能 手动将页面中点击所有连接,对提交数据的地方,都进行提交[无论内容] 自动爬网[参数设置] 指定爬网路径,否则其 ...
- customerized convert from field type to DB field's type
@LastModifiedDate @Convert(converter = LocalDateTime2TimestampConverter.class) @Slf4j public class L ...
- mongoDB 插入数据 用java实现
import java.net.UnknownHostException; import com.mongodb.BasicDBObject; import com.mongodb.DB; impor ...
- HDU 2181 哈密顿绕行世界问题 (DFS)
哈密顿绕行世界问题 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 【转】Nginx模块开发入门
转自: http://kb.cnblogs.com/page/98352/ 结论:对Nginx模块开发入门做了一个helloworld的示例,简单易懂.也有一定的深度.值得一看. Nginx模块开发入 ...