zoukankan      html  css  js  c++  java
  • 【麦子学院】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检測图像边缘后显示,非常easy的一个代码。
    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
    图像切割。三个參数spatialRadcolorRadmaxPyrLevel可调。
    No49. minarea.cpp
    产生随机点后计算包括全部点的面积最小的圆和矩形。纯数学问题。
    No50. morphology.c morphology2.cpp
    形态学基本运算,包含开/闭运算,膨胀/腐蚀运算。
    No51. motempl.c
    运动跟踪。
    No52. mser_sample.cpp
    MSER
    方法区域提取图像轮廓。使用颜色距离阈值的基于MSER方法的最大稳定颜色区域检測子(Maximally

    Stable Colour RegionsMSCR)
    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
    把图像名称列表写成yamlxml格式。
    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在线教育平台——麦子学院和我讨论。

  • 相关阅读:
    Linux 查看内存状态
    Linux sar工具安装使用
    DNS ARP地址解析原理
    TCP/UDP 端口
    TCP/IP 传输原理
    Window vagrant 安装部署【转】
    Window7下vagrant的部署
    Ubuntu下访问SSH
    使用 Vagrant 打造跨平台开发环境
    Vagrant入门[转]
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4349596.html
Copyright © 2011-2022 走看看