多边形的填充与绘制
#include<iostream>
#include<opencv2/opencv.hpp>
#include<vector>
using namespace std;
using namespace cv;
void polyline_draw_demo()
{
Mat canvas = Mat::zeros(Size(512, 512), CV_8UC3);
Point p1(100, 100);
Point p2(350, 100);
Point p3(450, 280);
Point p4(320, 450);
Point p5(80, 400);
vector<Point>pts;
pts.push_back(p1);
pts.push_back(p2);
pts.push_back(p3);
pts.push_back(p4);
pts.push_back(p5);
vector<vector<Point>>contours;
contours.push_back(pts);
drawContours(canvas, contours, -1, Scalar(255, 0, 0), -1);
imshow("多边形绘制", canvas);
}
int main()
{
string path = "C:\\Users\\四明\\Pictures\\QQ图片20200608155343.jpg";
Mat img = imread(path);
if (img.empty())
{
cout << "图片加载失败!" << endl;
return -1;
}
namedWindow("image", WINDOW_FREERATIO);
imshow("image", img);
polyline_draw_demo();
waitKey(0);
destroyAllWindows();
return 0;
}