OpenCV 中的 Delaunay 与 Voronoi 细分:原理、操作与应用
1. 基本概念
在 OpenCV 中,“细分(subdivision)” 这个术语通常指的是将一个区域划分为更小区域的操作,特别是在处理二维点集时,Delaunay 细分和 Voronoi 镶嵌是两个重要的概念。Delaunay 三角剖分可以用于对象跟踪,例如通过检测面部表情中的关键点来跟踪面部并检测情绪。
2. 创建 Delaunay 或 Voronoi 细分
要创建 Delaunay 或 Voronoi 细分,需要完成以下步骤:
1. 分配内存并设置边界框 :
cv::Rect rect(0, 0, 600, 600); // 外部边界框
cv::Subdiv2D subdiv(rect); // 创建初始细分
上述代码创建了一个包含指定矩形的初始细分。
2. 插入点 :
插入的点可以是 32 位浮点类型或整数坐标的点( cv::Point ),整数坐标的点会自动转换为浮点格式。
cv::Point2f fp; // 点的持有者
for( int i = 0; i < as_many_points_as_you_want; i++ ) {
fp = your_32f_point_lis
超级会员免费看
订阅专栏 解锁全文
7206

被折叠的 条评论
为什么被折叠?



