基于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); }
结果图:


浙公网安备 33010602011771号