《学习OpenCV 3(中文版)》 —2 OpenCV初探

举报
清华大学出版社 发表于 2019/10/23 20:49:21 2019/10/23
【摘要】 本节书摘来自清华大学出版社《学习OpenCV 3(中文版)》 一书中第二章,作者是[美]安德里安 • 凯勒 (Adrian Kaehler) 加里 • 布拉德斯基 (Gary Bradski) , 阿丘科技 刘昌祥 吴雨培 王成龙 崔玉芳 等译。

第二章

OpenCV初探


头文件

在安装OpenCV库以及设置好编程环境之后,下一个任务就是用代码来做一些有趣的事情。为了完成这个工作,我们需要先讨论一下头文件。幸运的是,头文件是按照第1章所述模块一样组织的。而我们最感兴趣的头文件莫过于.../include/opencv2/opencv.hpp,它包含OpenCV各个模块的头文件:


image.png

#include "opencv2/core/core_c.h" 旧式C风格的结构以及运算

#include "opencv2/core/core.hpp" 新式C++风格的结构以及数学运算

#include "opencv2/flann/miniflann.hpp" 最邻近搜索匹配函数

#include "opencv2/features2d/features2d.hpp" 用于追踪的二维特征

#include "opencv2/objdetect/objdetect.hpp"

级联人脸分类器、latent SVM分类器、HoG特征和平面片检测器

#include "opencv2/calib3d/calib3d.hpp" 校准以及双目视觉相关

#include "opencv2/ml/ml.hpp"

机器学习、聚类以及模式识别相关

#include "opencv2/highgui/highgui_c.h"

旧式C风格的显示、滑动条、鼠标操作以及输入输出相关

#include "opencv2/highgui/highgui.hpp"

新式C++风格的显示、滑动条、鼠标操作以及输入输出相关

#include "opencv2/contrib/contrib.hpp"

用户贡献的代码、皮肤检测、模糊Mean-Shift追踪、spin image算法及自相似特征等

你也许会使用头文件opencv.hpp来包含所有可能在OpenCV函数中用到的头文件,但是这会减慢编译的速度。如果只使用一个,比如说图像处理相关的函数,只包含opencv2/ imgproc/imgproc.hpp所消耗的编译时间会比包含opencv.hpp消耗的编译时间少很多。这些头文件在.../modules文件夹中。比如,imgproc.hpp存在于.../modules/imgproc/include/ opencv2/imgproc/imgproc.hpp。类似,函数对应的源文件也存在于对应的src文件夹中。比如,improc模块的cv::Canny()函数存在于.../modules/improc/src/canny.cpp

有了前述头文件之后,就可以开始写我们的第一个C++OpenCV程序了。

可以使用opencv2/legacy/legacy.hpp来调用遗留代码,比如说比较旧的斑点追踪、隐马尔科夫模型(HMM)检测、聚合追踪以及特征目标。其他位于.../ modules/legacy/include/opencv2/legacy/legacy.hpp


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。