需要关注的公司:
Intel 为项目发起公司
Itseez 为项目贡献最大的公司
需要关注的库:
intel的 IPP 用作加速
intel的 TBB 用作无锁编程
社区:
库下载:
注:3.4.14 的Windows安装包名为opencv-3.4.14-vc14_vc15.exe,注明了是vc14和vc15,vc14对应vs 2015 , vc15 对应 vs2017。建议使用vs 2017 ,如果使用vs 2013而出现各种奇怪问题不要觉得奇怪,因为你选错vs 版本了。不同vs 版本默认安装的vc 库是不一样的。虽然我们可以为低版本vs 手工下载高版本的 vc库,但是为啥非要给自己找不自在呢?除非不得已,建议使用 vs 2017 。
结构:
HAL 是面向硬件的接口,直接操作硬件,且包含加速相关内容。
Contrib 是所有开源贡献者自发继承的一些轮子,这些轮子或作通用,或作特定业务领域。
再上层就是变成语言的封装和面向操作系统平台API的封装。
模块划分:
Core:OpenCV的技术结构和基本操作。
Improc:图像处理模块,包括 图像转换,滤波 和 卷积 等操作。
Highgui:Windows下的gui工具包,可以用Qt来代替。
Video:视频流读写函数。
Calib3d:单个,双目以及多个相机的校准实现。
Featrue2d:检测,扫描以及匹配特征点的算法。
Objectect:物体检测模块,目前包含人脸和行人的检测算法,也可以用来改造和训练出检测其他物体的算法。
Ml:机器学习模块,机器学习算法。
Flann:快速最邻近库,其他模块会使用的最邻近搜索算法就在这里,一般情况我们不会直接使用这个模块。
GPU:gpu优化算法,3.x的版本中此模块被划分为多个cudaX模块。
Photo:摄影学相关的函数。
Stitching:图像拼接相关的函数。
Nonfree:一些商业授权的算法,好用但是需要收费或者商业授权,3.x的版本被移动到opencv_contrib/xfeatures2d目录下。
Contrib:一些有开源贡献者造的轮子,这些东西或是基础组件或是面向特定业务领域的组件,它们可能再不久的将来被移动到Core中,至少目前还不是。3.x中在opencv_contrib目录下。
3.x的Contrib在opencv_contrib目录下,包含如下子模块:
Dnn :深度神经网络
Face:人脸识别
Text:文本检测
Rgbd:rgb+图像库
Bioinspired:由生物学启发的视觉技术
ximgproc和xphoto:现金的图像处理和计算摄影学方法
Tracking:目标追踪算法
Legacy:一些老的暂没被遗弃的东西,3.x中有可能已经被遗弃,所以不需要再关注这个模块。
Ocl:3.x中被T-API取代,和GPU模块类似,用来提供对非Nividia GPU设备的支持。