Opencv3内部文件解析(不断更新)

来源:互联网 发布:深圳知豆电动汽车租赁 编辑:程序博客网 时间:2024/06/09 20:26

-------------------------------------------吐舌头吐舌头吐舌头----------------------------------------------

【Opencv3改动】

一、C 风格的API很快将会消失,完全被C++的API替代,代码更加简洁、不易出错。读者如果想借助opencv最新的功能,记得清理代码中的C风格API。

二、C++ API 将更加简洁。

三、所有的算法都将继承自 cv::Algorithm 接口。

四、大型的模块将拆分为小模块。


+++++++++++++【Opencv内部文件夹】++++++++++++++++

3rdparty/包含第三方的库,比如视频解码用的 ffmpeg,jpg、png、tiff等图片的开源解码库。


apps/包含进行 haar 分类器训练的工具,opencv 进行人脸检测便是基于 haar 分类器。如果你想检测人脸以外的图片,千万不要错过这几个工具。



cmake/包含生成工程项目时 cmake 的依赖文件,用于智能搜索第三方库,普通开发者不需要关心这个文件夹的内容。



data/包含 opencv 库以及范例中用到的资源文件,haar 物体检测的分类器位于haarcascades子文件中。



doc/包含生成文档所需的源文件以及辅助脚本。


include/包含入口头文件。opencv 子文件夹中是 C 语言风格的API,也就是《Learning OpenCV (第一版)》中描述的API函数,官方将逐渐淘汰 C 风格函数,因此我不推荐大家使用该文件夹中的头文件。opencv2 子文件中只有一个 opencv.hpp 文件,这是 cv2 以及 cv3 推荐使用的头文件。


modules/包含核心代码,opencv 真正的代码都在这个文件夹中。opencv 从2.0开始以模块的方式组织各种功能,近两年模块的数量增长得很快,后面我会依次介绍每个模块的作用。


platforms/包含交叉编译所需的工具链以及额外的代码,交叉编译指的是在一个操作系统中编译供另一个系统使用的文件。



samples/这是大家最喜欢的范例文件夹了,将在之后的文章中介绍。

0 0