Mat canvas = Mat::zeros(Size(512, 512), CV_8UC3);
int w = canvas.cols;
int h = canvas.rows;
RNG rng(12345); //随机时间
while (true) {
int c = waitKey(10);
if (c == 27) { // �˳�
break;
}
int x1 = rng.uniform(0, w); //uniform在0到w间选取一个数
int y1 = rng.uniform(0, h);
int x2 = rng.uniform(0, w);
int y2 = rng.uniform(0, h);
int b = rng.uniform(0, 255);
int g = rng.uniform(0, 255);
int r = rng.uniform(0, 255);
// canvas = Scalar(0, 0, 0);
line(canvas, Point(x1, y1), Point(x2, y2), Scalar(b, g, r), 1, LINE_AA, 0);
imshow("���������ʾ", canvas);
Mat canvas = Mat::zeros(Size(512, 512), CV_8UC3);
int w = canvas.cols;
int h = canvas.rows;
Point p1(100, 100);
Point p2(300, 150);
Point p3(300, 350);
Point p4(250, 450);
Point p5(50, 450);
std::vector<Point> pts;
pts.push_back(p1);
pts.push_back(p2);
pts.push_back(p3);
pts.push_back(p3);
pts.push_back(p4);
pts.push_back(p5);
// polylines(canvas, pts, true, Scalar(0, 255, 0), -1, 8, 0);
std::vector<std::vector<Point>> contours;
contours.push_back(pts);
drawContours(canvas, contours, 0, Scalar(0, 0, 255), -1, 8);
imshow("���ƶ����", canvas);
drawContours(canvas, contours, 0, Scalar(0, 0, 255), -1, 8);
第一个零表示绘制容器中第几个点集,-1表示全部绘制,第二个-1为填充,正数为绘制线宽。