最近正在系统学习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所有组件的宏。按照宏定义介绍如下:

  1. [calib3d] Camera Caliberation + 3D Reconstruction;
  2. [contrib] Contributed/Experimental Stuff, 最新添加的不太稳定的功能,新增了新型人脸识别、立体匹配、人工视网膜模型等;
  3. [core] core functions, 包括OpenCV基本数据结构、绘图函数、数组操作函数、系统函数和宏、OpenGL的互操作;
  4. [imgproc] Image Processing, 包括图像滤波、图像集合变换、直方图、结构分析和形状描述、运动分析和对象跟踪、特征检测、目标检测;
  5. [features2d] 2D Features, 特征检测和通用接口,关键点绘制函数和匹配功能绘制函数;
  6. [flann] Fast Library for Approximate Nearest Neighbors, 快速近似最近邻搜索,聚类;
  7. [gpu] GPU Acceleration;
  8. [highhui] Graphical User Interface, 媒体输入输出、视频捕捉、图像和视频的编码解码、图形交互界面接口;
  9. [legacy] 废弃代码,为了向下兼容
  10. [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;
  11. [nonfree] 具有专利的算法模块,包括特征检测和GPU相关,不能商用;
  12. [objdetect] object detection: Cascade Classification, Latent SVM;
  13. [ocl] OpenCL-accelerated Computer Vision;
  14. [photo] Computational Photography, 图像修复和去噪;
  15. [stitching] image stitching, 图像拼接包括:拼接流水线,特点寻找和匹配图像、估计旋转、自动校准、图片歪斜、接缝估测、曝光补偿、图片混合;、
  16. [superres] Supper Resolution;
  17. [ts] OpenCV test code;
  18. [vedio] 视频分析组件,包括运动估计、背景分离、对象跟踪等;
  19. [Vediostab] Video Stabilization.

OpenCV3的改变

OpenCV3目的是为OpenCV减重,能够选择性的去掉一些臃肿的功能模块,抛弃了整体架构使用内核+插件的结构形式。在Github中,存放着正式版的OpenCV,还有opencv_contrib和opencv_extra

opencv_extra_modules_path=/modules

将模块的地址传递给主代码,并一起编译。

OpenCV基本架构[OpenCV 笔记0]的更多相关文章

  1. OpenCV Tricks[OpenCV 笔记3]

    官方例程 事例程序位于opencv-3.1.0/samples/cpp/ 目录下,可以通过编译整个工程,编译所有的Sample Code 显示当前使用的OpenCV版本 CV_VERSION为标识当前 ...

  2. [terry笔记]Oracle会话追踪(二):TKPROF

    接上一笔记[terry笔记]Oracle会话追踪(一):SQL_TRACE&EVENT 10046 http://www.cnblogs.com/kkterry/p/3279282.html ...

  3. [terry笔记]Oracle会话追踪(一):SQL_TRACE&EVENT 10046

      SQL_TRACE/10046 事件是 Oracle 提供的用于进行 SQL 跟踪的手段,在日常的数据库问题诊断和解决中是非常常用的方法.但其生成的trace文件需要tkprof工具生成一个可供人 ...

  4. C# 利用 OpenCV 进行视频捕获 (笔记)

    原文:C# 利用 OpenCV 进行视频捕获 (笔记) 简介 这个项目是关于如何从网络摄像头或者视频文件(*.AVI)中捕获视频的,这个项目是用C#和OPENCV编写的. 这将有助于那些喜欢C#和Op ...

  5. 数组[0]和[firstobject]的区别

    数组[0]和[firstobject]的区别   [0]:数组为空时回报错 [firstobject]:数组为空时回返回nil

  6. Spark学习笔记0——简单了解和技术架构

    目录 Spark学习笔记0--简单了解和技术架构 什么是Spark 技术架构和软件栈 Spark Core Spark SQL Spark Streaming MLlib GraphX 集群管理器 受 ...

  7. [OpenCV][ARM9下移植OpenCV]

    [OpenCV][ARM9下移植OpenCV]   安装环境 宿主机: Red Hat Enterprise Linux Server 6.3 开发板: mini2440 相关软件: cmake-3. ...

  8. [猜你喜欢]冠军“yes,boy!”分享,含竞赛源代

    [猜你喜欢]冠军“yes,boy!”分享,含竞赛源代码  DataCastle运营 发表于 2016-7-20 17:31:52      844  3  5 我是Yes,boy! ,来自东北大学计算 ...

  9. Ubuntu下多个版本OpenCV管理(Multiple Opencv version)

    背景: 最近,在Nvidia的GPU嵌入式开发板Jetson TX1(简称TX1)上移植深度学习目标检测算法YOLO.在TX1上安装了官方提供的opencv版本——OpenCV4Tegra(OpenC ...

随机推荐

  1. Android系统启动过程全解析

    Android系统是一款基于Linux的移动操作系统,那么Android是如何启动起来的呢?本文就详细阐述Android系统的启动过程. 从内核之上,我们首先应该从文件系统的init开始,因为 ini ...

  2. Android 滑动效果基础篇(四)—— Gallery + GridView

    Android系统自带一个GridView和Gallery两个控件,GridView网格显示,Gallery单个浏览,两者结合起来可以真正实现Gallery浏览图片效果. 本示例通过GridView和 ...

  3. Centos 6.5使用Bumblebee关闭N卡,冷却你的电脑

    夏天来了,笔记本装的Centos一直非常热.随着天气的变化,这个问题真的要攻克了.差了下原因可能是双显卡笔记本,N卡驱动不完好,导致风扇狂叫. 昨天安装了nvidia 的显卡驱动本以为时间安静了.但是 ...

  4. Nginx Rewrite 实现匹配泛域名规则

    Nginx 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru ...

  5. MYSQL 分析表、检查表和优化表

    1. 对表进行优化 ( 优化表主要作用是消除删除或者更新造成的空间浪费) 2. 对表进行分析(分析关键字的分布, 分析并存储MyISAM和BDB表中键的分布) 3. 对表进行检查(检查表的错误,并且为 ...

  6. Helpers\URL

    Helpers\URL The URL class is used for having handy methods or redirecting the page and returning the ...

  7. Linux shell 脚本攻略之生成任意大小的文件

    摘自:<Linux shell 脚本攻略>

  8. org.apache.hadoop.filecache-*

    我不知道为什么这个包为什么是空的,从名字上看应该是一些管理文件缓存的类吗? 网上也没查到什么,各种群里也没大牛回答. 期望某位大牛能告诉我答案,谢谢

  9. spring mvc 使用Optional

    return Optional.ofNullable(brokerRepository.findOne(id)) .map(broker -> new ResponseEntity<> ...

  10. java 操作sqllite的数据库

    介绍 sqllite是一个小型数据库,不依赖于数据库服务器,操作它可以像操作本地的文本文件一样.在Android中是用来存储数据到本地的,java中可能也会有用到sqllite需要. 详细 sqlli ...