原文地址:http://blog.sina.com.cn/s/blog_6c9b83990101eecw.html
OpenCV的示例程序,个人感觉对初学者很有用。
代码位置:\opencv\sources\samples\
parter 1:
No1.
利用HSV空间的色调信息的皮肤检测,背景不能有太多与肤色相似的颜色。效果不是特别好。
No2.
好大一串……目前还看不懂。
No3.
前后背景分离。开启摄像头或读取视频。
No4.
摄像头捕捉,根据运动进行前后背景分离。
No5.
高斯处理视频。跟踪运动做前背景分割。BackgroundSubtractorMOG2
No6.
视频跟踪。跟踪视频中的运动物体,用绿色线框出。
No7.
利用brief描述算子匹配二维图像特征点。line118出错.???
No8.
建立三维模型。根据给出的检测器对原始进行建模。
No9.
相机外定标。根据自带的函数提取角点后定标,效果很不好。
No10.
根据角点自动校准摄像。初始化后寻找角点再用calibrateCamera校准,有findChessboardCorners估计效果不
怎么好。
No11.
图像匹配。把图像二值后在目标图像中寻找模板图像。主要调用chamerMatching函数。
No12.
轮廓查找与获取。cvFindContours一个函数搞定。
No13.
从文件中装载训练好的级联分类器或者从OpenCV中嵌入的分类器数据库中导入 然后另存为一个文件。
No14.
凸包。产生随机点后计算凸包。
No15.
opencv中矩阵的输出。
No16.
根据随机点进行Delaunay三角测量找到边,结束时计算Voronoi图表的细胞结构。
No17.
直方图均衡化来调节图像的亮度和对比度,输出黑白图像。
No18.
7-8个参数。SIFT匹配。
No19.
计算检测算子。各种Dataset。
No20.
计算检测算子匹配。也是各种Dataset。
No21.
对图像进行离散Fourier变换。数学变换。
No22.
距离变换。计算输入图像所有非零元素和其最近的零元素的距离。
No23.
简单的画点、线、文字等。不解释。
No24.
边缘检测。通过滑动条调节阈值,利用Canny检测图像边缘后显示,很简单的一个代码。
No25.
em聚类。
No26.
fab-mat匹配。从训练数据中建立Chow-Liu树。
No27.
人脸检测。根据已训练好的分类器对人脸图像进行检测,用不同颜色的圆形框或矩形框标记出检测出的五官。
No28.
人脸识别。
No29.
计算视频的光流。默认打开摄像头,有些卡,速度慢。
No30.
Mat矩阵存储,读写xml/yml文件。
No31.
有关Surf算法的示例。利用匹配在目标图像中寻找样本图像中的物体。
No32.
通过训练分类树检测目标物体。需要训练图像。
No33.
同样是目标检测。基于随机蕨丛的快速识别关键点。
No34.
椭圆拟合,查找图像轮廓图形。findContours很有用。总体效果不理想。
No35.
利用特征点进行图像匹配。特征点描述包括A. Alahi, R. Ortiz, and P. Vandergheynst. FREAK: Fast
Retina Keypoint.
No36.
输入颜色数量,产生着色条带状图像。色带宽20。
No37.
SURF图像匹配。输入参数包括两幅图像和参数数据。
No38.
利用Hough变换提取图像中的直线或圆。效果一般。Canny很重要。
No39.
基本的图像和视频读取,图像加噪和平滑处理。
No40.
Kalman滤波,先建立运动模型和观察模型。对绕圆周运动的一维点跟踪,算法结果显示了估计点和实际点的连线。
No41.
聚类分析。在平面上产生随机点后用K-means算法作聚类迭代,由于聚类中心也是随机产生的,可知效果很不好。
No42.
也是边缘检测。由滑动条调整阈值,先对图像作滤波(高斯,均值,中值),后Laplace检测边缘。参数sigma=3时效果最好。
No43.
用latentSVM检测目标。
No44.
演示训练各种不同的分类器,使用uci的字符库数据集。
No45.
坐标的相互转化。
No46.
SURF图像匹配。参数少,效果和generic_descriptor_match.cpp相似。
No47.
多幅图像的匹配。强大的SURF算法。
No48.
meanshift图像分割。三个参数spatialRad、colorRad和maxPyrLevel可调。
No49.
产生随机点后计算包含所有点的面积最小的圆和矩形。纯数学问题。
No50.
形态学基本运算,包括开/闭运算,膨胀/腐蚀运算。
No51.
运动跟踪。
No52.
MSER方法区域提取图像轮廓。使用颜色距离阈值的基于MSER方法的最大稳定颜色区域检测子(Maximally
Stable Colour Regions,MSCR)。
No53.
演示建立决策分类树训练 使用mushroom数据
No54.
基于主成分分析的特征点匹配问题。运行时间好长……
No55.
显示opencv版本。简单的几行代码。
No56.
OpenEXRimages_HighDynamicRange_Retina_toneMapping_video.cpp
不清楚。
No57.
开放式的自然交互视频捕捉。Depth generator。
No58.
主成份分析算法。重建。
No59.
HOG (Histogram-of-Oriented Gradients)行人或人体检测,使用的是hog特征和svm。
No60.
基于相位的相关图像运动方位跟踪程序。
No61.
点分类。鼠标点击给定点和类。
No62.
线性坐标和极坐标相互转换。可以从摄像头捕捉图像。
No63.
金字塔图像分割。
No64.
Retina特征点检测。
No65.
视觉里程计算法。为了估计刚体变换,试图找到翘曲,即最大化之间连续两个RGBD的帧不同的图像尺度。
No66.
视频跟踪分割运动中的物体。
No67.
收集数据集对象和分割遮罩,显示了如何使用相机的校准模式。计算该单对应性校准图案上的平面。还显示
grabCut分割等。
No68.
一种光流算法。
No69.
寻找矩形。
No70.
根据图像列表文件yaml读取并显示图像。
No71.
打开视频图像选择画面保存为图片。
No72.
摄像机立体校准。
No73.
立体匹配。
No74.
图像拼接。涉及到特征点的提取、特征点匹配、图像融合等等。Stitcher类。
No75.
光流法视频跟踪。
No76.
演示使用不同的决策树 CvDTree dtree;决策树 CvBoost boost;Boosted tree classifier监督学习树
CvRTrees rtrees;随机树 CvERTrees ertrees;完全随机树。
No77.
视频截图。
No78.
使用features2d的快速角点检测。
No79.
稳定视频。
No80.
做分水岭图像分割。
parter 2:
No1.
彩色目标跟踪。根据鼠标点击一个区域的色度光谱来跟踪视频目标。
No2.
连通区域。findContours+drawContours。
No3.
先画一张线条图后检测轮廓。参数可调。
No4.
漫水填充。根据鼠标选取的点搜索图像中与之颜色相近的点,用不同颜色标注。
No5.
图像分割,鼠标选取矩形框,抠出前景,分离背景。效果还挺不错的。
No6.
混合跟踪。调试时HybridTracker那出错了,不懂。
No7.
把图像名称列表写成yaml或xml格式。
No8.
数字图像修复程序,基于纹理合成。先在图像上随便画,按"i"键后显示修复的图像。
No9.
line196出错.???
No10.
点跟踪。改进的Lucas-Kanade光流算法,检测视频运动目标。鼠标点击目标点,视频跟踪。
parter3:
No1.
UNIX或ANDROID平台上使用的例子。基于检测的跟踪