作者:舞倾城2010_217 | 来源:互联网 | 2023-06-19 19:15
-----------------------------------------------------------------------------------------【Opencv3改动】
-----------------------------------------------------------------------------------------
【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/】这是大家最喜欢的范例文件夹了,将在之后的文章中介绍。