基于C++使用 Opencv 画五角星(简单)

void CV120201012Dlg::mutiplyDraw()
{
    // 定义一张背景板
    Mat img = Mat(Size(800, 800), CV_8UC3);
    img = Scalar(0, 0, 0);

    // 定义5个顶点坐标
    Point p1(439, 126);
    Point p2(466, 198);
    Point p3(546, 198);
    Point p4(482, 244);
    Point p5(507, 316);
    Point p6(439, 275);
    Point p7(371,316);
    Point p8(396,244);
    Point p9(330, 198);
    Point p10(414, 198);
    // 将5个坐标放入一个容器中
    std::vector<Point> vecp;
    vecp.push_back(p1);
    vecp.push_back(p2);
    vecp.push_back(p3);
    vecp.push_back(p4);
    vecp.push_back(p5);
    vecp.push_back(p6);
    vecp.push_back(p7);
    vecp.push_back(p8);
    vecp.push_back(p9);
    vecp.push_back(p10);
    fillPoly(img,vecp,Scalar(255,0,0),8,0);
    polylines(img,vecp,true,Scalar(0,0,255),2,LINE_AA,0);
    std::vector<std::vector<Point>> contours;
    contours.push_back(vecp);
    //drawContours(img, contours, -1,Scalar(0,255,0),-1);

    imshow("多边形绘制",img);
}

结果图:

 

posted @ 2020-10-28 22:16  南南子  阅读(912)  评论(0)    收藏  举报