随手小功能2-循环绘制随机直线

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

void DrawRandomLines();

int main(int argc, char** argv)
{
	DrawRandomLines();
	waitKey(0);
	return 0;
}

void DrawRandomLines()
{
	RNG rng(99999);
	Point p1, p2;
	Mat blackBg = Mat::zeros(img.size(), img.type());
	namedWindow("Random Lines", CV_WINDOW_AUTOSIZE);
	for (int i = 0; i < 99; i++)
	{
		p1.x = rng.uniform(0, blackBg.cols);
		p1.y = rng.uniform(0, blackBg.rows);
		p2.x = rng.uniform(0, blackBg.cols);
		p2.y = rng.uniform(0, blackBg.rows);
		Scalar color = Scalar(rng.uniform(0, 255), rng.uniform(0, 255), rng.uniform(0, 255));
		if (waitKey(20) != 255)
		{
			break;
		}

		line(blackBg, p1, p2, color, 1, LINE_8);
		imshow("Random Lines", blackBg);
	}
}

效果:

猜你喜欢

转载自blog.csdn.net/ShawShankChina/article/details/81395180
今日推荐