首页 > 代码库 > OpenCV —— 图像局部与分割(二)

OpenCV —— 图像局部与分割(二)

分水岭算法

将图像中的边缘转化成“山脉”,将均匀区域转化为“山谷”

分水岭算法首先计算灰度图像的梯度,这对山谷或没有纹理的盆地(亮度值低的点)的形成有效,也对山头或图像中没有主导线段的山脉(山脊对应的边缘)的形成有效。然后开始从用户指定点或算法得到的点开始“灌注”盆地知道这些区域连在一起。基于这样产生的标记就可以把区域合并到一起,合并后的区域又通过聚集的方式进行分割,好像图像被“填充”起来。

cvWatershed


用 Inpainting 修补图像

利用这些已经被破坏区域的边缘的颜色和结构,繁殖和混合到破坏的图像里面

cvInpaint() 

mask 是一个和src大小相同的8比特单通道图像,其中的损坏区域有非零的像素标记

修复半径是沿着各修复像素的区域,而这像素与影像输出像素颜色成比例关系


均值漂移分割

cvPyrMeanShiftFiltering ()

一个基于颜色的均值漂移聚类的相似算法

均值漂移能沿时间轴找出颜色空间的峰值分布。无论对运动跟踪还是颜色分割算法都依赖于均值漂移法找到分布模型(峰值)的能力

分割实际上由比例金字塔 (cvPyrUp  cvPyrDown)完成的,金字塔中高层的颜色簇,拥有自己的边界,这些边界在金字塔中被精确定义在金字塔的第一层

相似区域具有相近值


Delaunay 三角剖分和Voronoi 划分

Delaunay 三角剖分 —— 将空间点连接为三角形,使得所有三角形中最小的角最大 —— 任何三角形的外接圆都不包含任何其他的顶点

通过检查哪个点与外部的三个虚拟凸顶点相连接,计算机可以直接找出哪些点在点集中构成外部轮廓

Delaunay 三角剖分是连接计算机视觉与计算机图形学的桥梁

 

Delaunay 点可以用于追踪目标(面部通过有意义的点的实现跟踪,由此可以识别表情)

书上内容太少,有时间重新学习!!