【麦子学院】OpenCV教程函数总结

opencv 2.4.4版本共100个自带例子。

parter 1:

No1. adaptiveskindetector.cpp

利用HSV空间的色调信息的皮肤检测,背景不能有太多与肤色相似的颜色。效果不是特别好。

No2. bagofwords_classification.cpp

好大一串……目前还看不懂。

No3. bgfg_codebook.cpp

前后背景分离。开启摄像头或读取视频。

No4. bgfg_gmg.cpp

摄像头捕捉,根据运动进行前后背景分离。

No5. bgfg_segm.cpp

高斯处理视频。跟踪运动做前背景分割。BackgroundSubtractorMOG2类。

No6. blobtrack_sample.cpp

视频跟踪。跟踪视频中的运动物体,用绿色线框出。

No7. brief_match_test.cpp

利用brief描述算子匹配二维图像特征点。line118出错.???

No8. build3dmodel.cpp

建立三维模型。根据给出的检测器对原始进行建模。

No9. calibration.cpp 3calibration.cpp

相机外定标。根据自带的函数提取角点后定标,效果很不好。

No10. calibration_artificial

根据角点自动校准摄像。初始化后寻找角点再用calibrateCamera校准,有findChessboardCorners估计效果不

怎么好。

No11. chamfer.cpp

图像匹配。把图像二值后在目标图像中寻找模板图像。主要调用chamerMatching函数。

No12. contours.c

轮廓查找与获取。cvFindContours一个函数搞定。

No13. convert_cascade.c

从文件中装载训练好的级联分类器或者从OpenCV中嵌入的分类器数据库中导入然后另存为一个文件。

No14. convexhull.cpp

凸包。产生随机点后计算凸包。

No15. cout_mat.cpp

opencv中矩阵的输出。

No16. delaunay.c delaunay2.cpp

根据随机点进行Delaunay三角测量找到边,结束时计算Voronoi图表的细胞结构。

No17. demhist.cpp

直方图均衡化来调节图像的亮度和对比度,输出黑白图像。

No18. descriptor_extractor_matcher.cpp

7-8个参数。SIFT匹配。

No19. detector_descriptor_evaluation.cpp

计算检测算子。各种Dataset。

No20. detector_descriptor_matcher_evaluation.cpp

计算检测算子匹配。也是各种Dataset。

No21. dft.cpp

对图像进行离散Fourier变换。数学变换。

No22. distrans.cpp

距离变换。计算输入图像所有非零元素和其最近的零元素的距离。

No23. drawing.cpp

简单的画点、线、文字等。不解释。

No24. edge.cpp

边缘检测。通过滑动条调节阈值,利用Canny检测图像边缘后显示,很简单的一个代码。

No25. em.cpp

em聚类。

No26. fabmap_sample

fab-mat匹配。从训练数据中建立Chow-Liu树。

No27. facedetect.cpp smiledetect.cpp

人脸检测。根据已训练好的分类器对人脸图像进行检测,用不同颜色的圆形框或矩形框标记出检测出的五官。

No28. facerec_demo.cpp

人脸识别。

No29. fback.cpp fback_c.c

计算视频的光流。默认打开摄像头,有些卡,速度慢。

No30. filestorage.cpp

Mat矩阵存储,读写xml/yml文件。

No31. find_obj.cpp

有关Surf算法的示例。利用匹配在目标图像中寻找样本图像中的物体。

No32. find_obj_calonder.cpp

通过训练分类树检测目标物体。需要训练图像。

No33. find_obj_ferns.cpp

同样是目标检测。基于随机蕨丛的快速识别关键点。

No34. fitellipse.cpp

椭圆拟合,查找图像轮廓图形。findContours很有用。总体效果不理想。

No35. freak_demo.cpp

利用特征点进行图像匹配。特征点描述包括A.Alahi, R. Ortiz, and P. Vandergheynst. FREAK: Fast

Retina Keypoint.

No36. gencolors.cpp

输入颜色数量,产生着色条带状图像。色带宽20。

No37. generic_descriptor_match.cpp

SURF图像匹配。输入参数包括两幅图像和参数数据。

No38. houghlines.cpp houghcircles.cpp

利用Hough变换提取图像中的直线或圆。效果一般。Canny很重要。

No39. image.cpp

基本的图像和视频读取,图像加噪和平滑处理。

No40. kalman.cpp

Kalman滤波,先建立运动模型和观察模型。对绕圆周运动的一维点跟踪,算法结果显示了估计点和实际点的连线。

No41. kmeans.cpp

聚类分析。在平面上产生随机点后用K-means算法作聚类迭代,由于聚类中心也是随机产生的,可知效果很不好。

No42. laplace.cpp

也是边缘检测。由滑动条调整阈值,先对图像作滤波(高斯,均值,中值),后Laplace检测边缘。参数sigma=3时效果最好。

No43. latentsvmdetect.cpp

用latentSVM检测目标。

No44. letter_recog.cpp

演示训练各种不同的分类器,使用uci的字符库数据集。

No45. logpolar_bsm.cpp

坐标的相互转化。

No46. matcher_simple.cpp

SURF图像匹配。参数少,效果和generic_descriptor_match.cpp相似。

No47. matching_to_many_images.cpp

多幅图像的匹配。强大的SURF算法。

No48. meanshift_segmentation.cpp

meanshift图像分割。三个参数spatialRad、colorRad和maxPyrLevel可调。

No49. minarea.cpp

产生随机点后计算包含所有点的面积最小的圆和矩形。纯数学问题。

No50. morphology.c morphology2.cpp

形态学基本运算,包括开/闭运算,膨胀/腐蚀运算。

No51. motempl.c

运动跟踪。

No52. mser_sample.cpp

MSER方法区域提取图像轮廓。使用颜色距离阈值的基于MSER方法的最大稳定颜色区域检测子(Maximally

Stable Colour Regions,MSCR)。

No53. mushroom.cpp

演示建立决策分类树训练使用mushroom数据

No54. one_way_sample.cpp

基于主成分分析的特征点匹配问题。运行时间好长……

No55. opencv_version.cpp

显示opencv版本。简单的几行代码。

No56. OpenEXRimages_HighDynamicRange_Retina_toneMapping.cpp

OpenEXRimages_HighDynamicRange_Retina_toneMapping_video.cpp

不清楚。

No57. openni_capture.cpp

开放式的自然交互视频捕捉。Depthgenerator。

No58. pca.cpp

主成份分析算法。重建。

No59. peopledetect.cpp

HOG (Histogram-of-Oriented Gradients)行人或人体检测,使用的是hog特征和svm。

No60. phase_corr.cpp

基于相位的相关图像运动方位跟踪程序。

No61. points_classifier.cpp

点分类。鼠标点击给定点和类。

No62. polar_transform.c

线性坐标和极坐标相互转换。可以从摄像头捕捉图像。

No63. pyramid_segmentation.c

金字塔图像分割。

No64. retinaDemo.cpp

Retina特征点检测。

No65. rgbdodometry.cpp

视觉里程计算法。为了估计刚体变换,试图找到翘曲,即最大化之间连续两个RGBD的帧不同的图像尺度。

No66. segment_objects.cpp

视频跟踪分割运动中的物体。

No67. select3dobj.cpp

收集数据集对象和分割遮罩,显示了如何使用相机的校准模式。计算该单对应性校准图案上的平面。还显示

grabCut分割等。

No68. simpleflow_demo.cpp

一种光流算法。

No69. squares.cpp

寻找矩形。

No70. starter_imagelist.cpp

根据图像列表文件yaml读取并显示图像。

No71. starter_video.cpp

打开视频图像选择画面保存为图片。

No72. stereo_calib.cpp

摄像机立体校准。

No73. stereo_match.cpp

立体匹配。

No74. stitching.cpp stitching_detailed.cpp

图像拼接。涉及到特征点的提取、特征点匹配、图像融合等等。Stitcher类。

No75. tvl1_optical_flow.cpp

光流法视频跟踪。

No76. tree_engine.cpp

演示使用不同的决策树CvDTree dtree;决策树CvBoost boost;Boosted tree classifier监督学习树

CvRTrees rtrees;随机树CvERTrees ertrees;完全随机树。

No77. video_dmtx.cpp

视频截图。

No78. video_homography.cpp

使用features2d的快速角点检测。

No79. videostab.cpp

稳定视频。

No80. watershed

做分水岭图像分割。

parter 2:

No1. camshiftdemo.cpp

彩色目标跟踪。根据鼠标点击一个区域的色度光谱来跟踪视频目标。

No2. connected_components.cpp

连通区域。findContours+drawContours。

No3. contours2.cpp

先画一张线条图后检测轮廓。参数可调。

No4. ffilldemo.cpp

漫水填充。根据鼠标选取的点搜索图像中与之颜色相近的点,用不同颜色标注。

No5. grabcut.cpp

图像分割,鼠标选取矩形框,抠出前景,分离背景。效果还挺不错的。

No6. hybridtrackingsample.cpp

混合跟踪。调试时HybridTracker那出错了,不懂。

No7. imagelst_creator.cpp

把图像名称列表写成yaml或xml格式。

No8. inpaint.cpp

数字图像修复程序,基于纹理合成。先在图像上随便画,按"i"键后显示修复的图像。

No9. linemod.cpp

line196出错.???

No10. lkdemo.cpp

点跟踪。改进的Lucas-Kanade光流算法,检测视频运动目标。鼠标点击目标点,视频跟踪。

parter3:

No1. detection_based_tracker_sample.cpp

UNIX或ANDROID平台上使用的例子。基于检测的跟踪。

这是所有100个自带例子。如果对Opencv的这100个自带例子理解有另外想法,可以来IT在线教育平台——麦子学院和我讨论。

时间: 2024-11-05 20:29:38

【麦子学院】OpenCV教程函数总结的相关文章

麦子学院Android开发Java教程ClassCastException 错误解析

现在Java编程中经常碰到ClassCastException 错误,ClassCastException 是 JVM 在检测到两个类型间的转换不兼容时引发的运行时异常.此类错误通常会终止用户请求.本模式试图为您提供了解和排除 ClassCastException 错误最常见成因的一些基本要素. 为什么发生此问题? 在执行几乎任何子系统(web 容器.EJB.JCA.群集等)的应用程序代码或 WebLogic Server 代码内均可能发生 ClassCastException.通过转换,可以指

麦子学院ios笔记:Objective-C 实现2048算法类

今天麦子学院ios开发老师给大家介绍Objective-C 实现的IOS版小游戏2048算法类,十分的实用,有需要的小伙伴可以参考下. 参数model有一个二维数组data,及阶数matrix // .h文件 @classDataModel; @interfaceAlgorithm : NSObject @property(nonatomic,assign)intaddScore;// 加分 - (void)caculateTop:(DataModel *)model;// 上滑规则 - (vo

麦子学院ios笔记:IOS把图片缓存到本地的几种方法

把ios的图片缓存到本地的方法有几种?现在来看看学生在麦子学院学习ios开发的笔记中有讲到哪几种方法呢? <code>把图片缓存到本地,在很多场景都会用到,如果是只储存文字信息,那建一个plist文件,或者数据库就能很方便的解决问题,但是如果存图片到沙盒就没那么方便了.这里介绍两种保存图片到沙盒的方法. </code> 一.把图片转为base64的字符串存到数据库中或者plist文件中,然后用到的时候再取出来 <code class="hljs" obje

麦子学院android开发之Android应用开发视图优化步骤

1)View优化 i.   减少不必要的View以及View的嵌套层次. 比如实现一个listview中常用的layout,可以使用RelativeLayout减少嵌套,要知道每个View的对象会耗费1~2k内存,嵌套层次过多会引起频繁的gc,造成ANR. ii.   通过HierarchyViewer查看布局结构 利用HierarchyViewer来查看View的结构:~/tools/hierarchyviewer,能很清楚地看到RelativeLayout下面的扁平结构,这样能加快dom的渲

XCode6.3上使用opencv教程(MacOSX 10.10)

OpenCV 是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows和Mac OS操作系统上.它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python.Ruby.MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法. 2. MacOSX上安装OpenCV 2.1. 安装Homebrew 2.2. 安装OpenCV 3. XCode建立OpenCV项目 3.1. 配置搜索路径 3.2. 添加链接库 3.3. 设置编译路径 3.

麦子学院Android实战调用摄像头代码分享

Android如何实现调用摄像头?在安卓APP开发的过程中,经常会需要调用手机自身摄像头拍照的代码,那么android调用摄像头的代码是什么呢?现在麦子学院android开发老师告诉大家,android调用摄像头这个方法十分的简单实用,有需要的小伙伴可以参考下. 应用场景: 在Android开发过程中,有时需要调用手机自身设备的功能,本文侧重摄像头拍照功能的调用. 知识点介绍: 使用权限:调用手机自身设备功能(摄像头拍照功能),应该确保已经在AndroidManifest.xml中正确声明了对摄

麦子android开发教程:Android开发框架详解

在麦子学院里有很多初学android开发的同学都在问安卓的开发框架问题,下面跟着麦子学院的android老师来看看相关的代码: Java代码 1.   publicclass App extends Activity { 2. 3.       public App () {//构造函数不用说了 4.      } 5. 6.       public void onCreate(Bundle savedInstanceState) {//界面初始化的时候调用 7.          super

麦子学院干货 | iOS开发者需要的九大设计工具

麦子学院[www.maiziedu.com]干货 | iOS开发者需要的九大设计工具 1.AppCooker AppCooker是一款方便的iPad应用.它能够提供可点击的原型模板,集合了所有需要编码或渲染的重要部件,并且还可以帮助开发者无需任何代码编写就能够构思.设计和测试iOS应用.目前AppCooker在App Store上的售价为19.99美元. 主要功能: 全功能模型编辑器拥有所有iOS UI部件 位图图画.矢量形状和文本工具 带有链接的整体屏幕视图 收存箱和Box支持云服务 2.Sk

麦子学院 —— 产品经理的工作方法及应用(二)

麦子学院 - 产品经理的工作方法及应用(二) 因为个人是学习前端开发的,对于产品这一块了解的毕竟尚浅,所以就不发表任何言论了.继续上一部分< 基础阶段和产品思维 >之后,这节内容我们 主要学习的是产品经理的工作方法以及应用.今天这节比较实用,会讲解软件 Axuer 的使用方法以及在实际项目中的运用.所以小伙伴们一样不要放松自己,坚持努力!  咱们下期将要更新<产品进阶课程>. 第一部分:Axure 的基本操作 第 1 章  认识Axure 第 2 章  Axure操作面板 第 3