也许有人会发现它作为一个起点很有用。我花了将近一整天的时间寻找解决方案。最后我可以用折线和填充多边形绘制。我不得不承认这有点烦人。
t2 包含 3 个点。
所以这会给 pt 加 3 分。
vector<Point> pt;
for(int ao=0; ao<t2.size(); ao++){
pt.push_back( t2.at(ao) );
}
polylines(image,pt,false,Scalar(255,255,255),2,150,0);
这要使用 fillPoly
只是为了填充一个三角形
Point pt[1][3];
//set one point into pt matrix
pt[0][0].x = yourvalue_x;
pt[0][0].y = yourvalue_y;
//set onother point into pt matrix
pt[0][1].x = yourvalue_x;
pt[0][1].y = yourvalue_y;
//set onother point into pt matrix
pt[0][2].x = yourvalue.x;
pt[0][2].y = yourvalue.y;
//adding 2 times (i have one triangle ) but
ppt can contains many more polygons
//const Point* ppt[2] = {pt[0], pt[1], ... };
//i used only one triangle as a test
const Point* ppt[2] = {pt[0], pt[0]};
int npt[] = {3, 3};
fillPoly(atom_image, ppt, npt, 1, (255,0,255));