opencv3.0架构详解及新增功能

  1. /**************************************************************************************************************** 
  2. 文件说明: 
  3.         OpenCv3.0中新架构以及新增功能的详解 
  4. 时间地点: 
  5.         陕西师范大学 问津楼 2017.5.16 
  6. 作    者: 
  7.         九 月      
  8. ****************************************************************************************************************/  
  9. /**************************************************************************************************************** 
  10. 文件说明: 
  11.         OpenCv3.0.0新特性的分析 
  12. (一)OpenCv3.0相对于OpenCv2.X系列的改变 
  13.     1)项目架构的改变 
  14.          OpenCv3.0抛弃了整体的项目架构方式,采用了内核+插件的架构形式 
  15.     2)添加了更多的cuda加速模块 
  16.     3)所有的算法都将继承自cv::Algorithm接口 
  17. (二)语言层、OS、硬件 
  18.     1)语言:支持Python、C/C++、Java 
  19.     2)OS:windows、linux、MacOS、ios、Android、WinRTx 
  20.     3)硬件:GPU、X86、ARM、MIPS 
  21. (三)OpenCv编程中的加速手段 
  22.     1)针对GPU的加速:CUDA、OpenCL 
  23.     2)针对x86和x64的加速:OpenCl、SSE/AUX 
  24. (四)OpenCv各模块的总结 
  25.     1)calib3d---Calibration(校准)和3D这两个单词的组合:这个模块主要用于: 
  26.             1)摄像机的校准 
  27.             2)三维重建 
  28.             3)包括:基本的多视角几何算法、单个摄像机的标定、物体姿态估计、 
  29.                      立体相似性算法、3D信息的重建等 
  30.     2)core模块:核心模块功能,包含以下内容: 
  31.             1)OpenCv基本的数据结构 
  32.             2)动态数据结构 
  33.             3)绘图函数 
  34.             4)数据操作相关函数 
  35.             5)辅助功能与系统函数和宏 
  36.             6)与OpenGL的互操作 
  37.     3)imgproc模块:图像处理模块,主要包括以下功能: 
  38.             1)线性和非线性的滤波 
  39.             2)图像的几何变换 
  40.             3)其他的图像变换 
  41.             4)直方图相关操作 
  42.             5)结构分析与形状分析 
  43.             6)运动分析与目标跟踪 
  44.             7)特征检测 
  45.             8)目标检测 
  46.     4)feature2d模块:包含如下功能: 
  47.             1)特征的检测与描述 
  48.             2)特征检测器的通用接口(Feature Detectors) 
  49.             3)特征提取器的通用接口(Descriptor Extractors) 
  50.             4)特征描述符的通用接口(Descriptor) 
  51.             5)描述符匹配器的通用接口 
  52.             6)关键点绘制函数和匹配功能绘制函数 
  53.     5)flann: 
  54.             1)快速近似最近邻搜索 
  55.             2)聚类 
  56.     6)highgui模块: 
  57.             1)高层GUI图形用户界面 
  58.             2)媒体的输入输出 
  59.             3)视频捕捉 
  60.             4)图像和视频的编码解码 
  61.             5)图形交互界面 
  62.     7)legacy:一些已经废弃的代码 
  63.     8)ml:机器学习模块库 
  64.     9)nonfree模块: 
  65.             1)一些具有专利的算法模块 
  66.             2)包括GPU相关的内容 
  67.     10)objdetect:目标检测模块 
  68.             1)级联分类 
  69.             2)Latent SVM 
  70.     11)photo:包含图像修复和图像去燥两部分 
  71.     12)stitching:图像拼接模块,包含如下的内容: 
  72.             1)拼接流水线 
  73.             2)特点寻找和匹配图像 
  74.             3)估计旋转 
  75.             4)自动校准 
  76.             5)图片歪斜 
  77.             6)接缝估测 
  78.             7)曝光补偿 
  79.             8)图片混合 
  80.     13)superres:超分辨了技术 
  81.     14)video:视频组件分析,该模块包括: 
  82.             1)运动估计 
  83.             2)背景分离 
  84.             3)对象跟踪 
  85.     15)Gpu:gpu加速代码模块 
  86.     16)viz:3D视觉的可视化 
  87.     17) 
  88. (五)OpenCv机器学习库中主要实现的算法如下所示: 
  89.     1)一般贝叶斯分类器 
  90.     2)K近邻分类 
  91.     3)支持向量机 
  92.     4)期望最大化 
  93.     5)决策树 
  94.     6)随机森林 
  95.     7)Boost分类器 
  96.     8)神经网络 
  97.     每种算法实现的函数主要如下所示: 
  98.     1)数据处理:获得训练样本的测试样本 
  99.     2)分类器初始化参数设置 
  100.     3)训练 
  101.     4)预测分类 
  102.     5)分类器的读写保存:主要完成从文件节点中读取分类器相关信息以及得到的分类器相关信息保存到文件中等 
  103. (六)OpenCv中的CUDA加速模块: 
  104.     1)cuda:CUDA-加速的计算机视觉算法,包括数据结构cuda、GpuMat、基于cuda的相机标定以及三维重建等 
  105.     2)cudaarithm:   CUDA加速的矩阵运算模块 
  106.     3)cudabgsegm:   CUDA加速的背景分割模块,通常用于视频监控 
  107.     4)cudacodec:    CUDA加速的视频编码解码 
  108.     5)cudafeature2d:CUDA-加速的特征提取和描述模块,与feature2d模块类似 
  109.     6)cudafilters:  CUDA-加速的图像滤波算法 
  110.     7)cudaimgproc:  CUDA-加速的图像处理算法、包括直方图计算、霍夫变换等 
  111.     8)cudaoptflow:  CUDA-加速的光流检测算法 
  112.     9)cudastereo:   CUDA-加速的立体匹配算法 
  113.     10)cudawarping: CUDA-加速的快速图像变换,如透视变换、旋转、改变尺寸等 
  114.     11)cudev:CUDA核心功能,类似core模块中的基础算法 
  115. (七)OpenCv3.0增加的功能: 
  116.     1)opencv_contrib/ccalib           全方位摄像机标定和立体三维重建  
  117.     2)opencv_contrib/sfm module       从运动信息中恢复三维场景结构 
  118.     3)opencv_contrib/dpm module       改进的变形部件为基础的模型     
  119.     4)opencv_contrib/tracking module  采用核心化相关滤波实时多目标跟踪 
  120.     5)opencv_contrib/text module      改进和扩展场景文字探测 
  121.     6)opencv_contrib/stereo module    立体匹配的改进 
  122.     7)opencv_contrib/structured_light 结构关系标定 
  123.     8)opencv_contrib/aruco            运用棋盘 + ArUco库标定摄像头 
  124.     9)opencv_contrib/dnn module       深度神经网络框架的通用接口的实现 
  125.     10)opencv_contrib/calib3d and opencv_contrib/ximgproc    边缘意思过滤的最新进展,改进SGBM立体算法 
  126.     11)opencv_contrib/xobjdetect         改进的ICF检测,WaldBoost实现 
  127.     12)opencv_contrib/tracking module    多目标TLD算法跟踪 
  128.     13)opencv_contrib/cnn_3dobj          3D姿态估计使用细胞神经网络          
  129. **********************************************************************************************************/  
  130. https://blog.csdn.net/maweifei/article/details/72457394

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:终极编程指南 设计师:CSDN官方博客 返回首页
评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值