已知一个包含顺序点的数组,需要画出六边形
const int r = 100;
Mat src = Mat::zeros(Size(4 * r, 4 * r), CV_8UC1);
/// 绘制一系列点创建一个轮廓:
vector<Point2f> vert(6);
vert[0] = Point(1.5*r, 1.34*r);
vert[1] = Point(1 * r, 2 * r);
vert[2] = Point(1.5*r, 2.866*r);
vert[3] = Point(2.5*r, 2.866*r);
vert[4] = Point(3 * r, 2 * r);
vert[5] = Point(2.5*r, 1.34*r);
/// 在src内部绘制
for (int j = 0; j < 6; j++)
{
line(src, vert[j], vert[(j + 1) % 6], Scalar(255), 3, 8);
}
重点学习下:
for (int j = 0; j < 6; j++)
{
line(src, vert[j], vert[(j + 1) % 6], Scalar(255), 3, 8);
}