OpenCv3.0架构的详细解释以及新增新功能的说明(当然OpenCv3.2.0中的很多新功能更加强大,比如CNN,DNN的实现)

来源:互联网 发布:纯html源码 编辑:程序博客网 时间:2024/06/06 04:27
/****************************************************************************************************************文件说明:        OpenCv3.0中新架构以及新增功能的详解时间地点:        陕西师范大学 问津楼 2017.5.16作    者:        九 月****************************************************************************************************************//****************************************************************************************************************文件说明:        OpenCv3.0.0新特性的分析(一)OpenCv3.0相对于OpenCv2.X系列的改变    1)项目架构的改变     OpenCv3.0抛弃了整体的项目架构方式,采用了内核+插件的架构形式2)添加了更多的cuda加速模块3)所有的算法都将继承自cv::Algorithm接口(二)语言层、OS、硬件    1)语言:支持Python、C/C++、Java    2)OS:windows、linux、MacOS、ios、Android、WinRTx3)硬件:GPU、X86、ARM、MIPS(三)OpenCv编程中的加速手段    1)针对GPU的加速:CUDA、OpenCL2)针对x86和x64的加速:OpenCl、SSE/AUX(四)OpenCv各模块的总结    1)calib3d---Calibration(校准)和3D这两个单词的组合:这个模块主要用于:        1)摄像机的校准2)三维重建3)包括:基本的多视角几何算法、单个摄像机的标定、物体姿态估计、         立体相似性算法、3D信息的重建等    2)core模块:核心模块功能,包含以下内容:        1)OpenCv基本的数据结构2)动态数据结构3)绘图函数4)数据操作相关函数5)辅助功能与系统函数和宏6)与OpenGL的互操作3)imgproc模块:图像处理模块,主要包括以下功能:        1)线性和非线性的滤波2)图像的几何变换3)其他的图像变换4)直方图相关操作5)结构分析与形状分析6)运动分析与目标跟踪7)特征检测8)目标检测4)feature2d模块:包含如下功能:        1)特征的检测与描述2)特征检测器的通用接口(Feature Detectors)3)特征提取器的通用接口(Descriptor Extractors)4)特征描述符的通用接口(Descriptor)5)描述符匹配器的通用接口6)关键点绘制函数和匹配功能绘制函数5)flann:        1)快速近似最近邻搜索2)聚类6)highgui模块:        1)高层GUI图形用户界面2)媒体的输入输出3)视频捕捉4)图像和视频的编码解码5)图形交互界面7)legacy:一些已经废弃的代码8)ml:机器学习模块库9)nonfree模块:        1)一些具有专利的算法模块2)包括GPU相关的内容10)objdetect:目标检测模块        1)级联分类2)Latent SVM11)photo:包含图像修复和图像去燥两部分12)stitching:图像拼接模块,包含如下的内容:        1)拼接流水线2)特点寻找和匹配图像3)估计旋转4)自动校准5)图片歪斜6)接缝估测7)曝光补偿8)图片混合13)superres:超分辨了技术14)video:视频组件分析,该模块包括:        1)运动估计2)背景分离3)对象跟踪15)Gpu:gpu加速代码模块16)viz:3D视觉的可视化17)(五)OpenCv机器学习库中主要实现的算法如下所示:    1)一般贝叶斯分类器2)K近邻分类3)支持向量机4)期望最大化5)决策树6)随机森林7)Boost分类器8)神经网络每种算法实现的函数主要如下所示:1)数据处理:获得训练样本的测试样本2)分类器初始化参数设置3)训练4)预测分类5)分类器的读写保存:主要完成从文件节点中读取分类器相关信息以及得到的分类器相关信息保存到文件中等(六)OpenCv中的CUDA加速模块:    1)cuda:CUDA-加速的计算机视觉算法,包括数据结构cuda、GpuMat、基于cuda的相机标定以及三维重建等2)cudaarithm:   CUDA加速的矩阵运算模块3)cudabgsegm:   CUDA加速的背景分割模块,通常用于视频监控4)cudacodec:    CUDA加速的视频编码解码5)cudafeature2d:CUDA-加速的特征提取和描述模块,与feature2d模块类似6)cudafilters:  CUDA-加速的图像滤波算法7)cudaimgproc:  CUDA-加速的图像处理算法、包括直方图计算、霍夫变换等8)cudaoptflow:  CUDA-加速的光流检测算法9)cudastereo:   CUDA-加速的立体匹配算法10)cudawarping: CUDA-加速的快速图像变换,如透视变换、旋转、改变尺寸等11)cudev:CUDA核心功能,类似core模块中的基础算法(七)OpenCv3.0增加的功能:    1)opencv_contrib/ccalib           全方位摄像机标定和立体三维重建 2)opencv_contrib/sfm module       从运动信息中恢复三维场景结构3)opencv_contrib/dpm module       改进的变形部件为基础的模型    4)opencv_contrib/tracking module  采用核心化相关滤波实时多目标跟踪5)opencv_contrib/text module      改进和扩展场景文字探测6)opencv_contrib/stereo module    立体匹配的改进7)opencv_contrib/structured_light 结构关系标定8)opencv_contrib/aruco            运用棋盘 + ArUco库标定摄像头9)opencv_contrib/dnn module       深度神经网络框架的通用接口的实现10)opencv_contrib/calib3d and opencv_contrib/ximgproc    边缘意思过滤的最新进展,改进SGBM立体算法11)opencv_contrib/xobjdetect         改进的ICF检测,WaldBoost实现12)opencv_contrib/tracking module    多目标TLD算法跟踪13)opencv_contrib/cnn_3dobj          3D姿态估计使用细胞神经网络**********************************************************************************************************/


原创粉丝点击