本帖最后由 ng2b30 于 2017-1-26 12:10 编辑
- static void calculateDelaunayTriangles(Rect rect, vector < Point2f > & points, vector < vector < int > > & delaunayTri) {
- Subdiv2D subdiv(rect);
- for (vector < Point2f > ::iterator it = points.begin(); it != points.end(); it++)
- subdiv.insert( * it);
- vector < Vec6f > triangleList;
- subdiv.getTriangleList(triangleList);
- vector < Point2f > pt(3);
- vector < int > ind(3);
- for (size_t i = 0; i < triangleList.size(); i++) {
- Vec6f t = triangleList[i];
- pt[0] = Point2f(t[0], t[1]);
- pt[1] = Point2f(t[2], t[3]);
- pt[2] = Point2f(t[4], t[5]);
- if (rect.contains(pt[0]) && rect.contains(pt[1]) && rect.contains(pt[2])) {
- for (int j = 0; j < 3; j++)
- for (size_t k = 0; k < points.size(); k++)
- if (abs(pt[j].x - points[k].x) < 1.0 && abs(pt[j].y - points[k].y) < 1)
- ind[j] = k;
- delaunayTri.push_back(ind);
- }
- }
- }
复制代码
上面是c ++部分的代码,我想应用这一个功能用在我的android app中,但我是个opencv新手,有没有大神可以帮我转换一下,谢谢大大 |