OpenCV学习笔记4.0(8)绘制随机曲线,绘制文字
程序员文章站
2022-03-31 12:25:21
...
OpenCV学习笔记4.0(8)绘制随机曲线,绘制文字
RNG函数
RNG函数:随机生成函数,用于生成随机数
RNG rng(12345)
生成高斯随机数
RNG.gaussian(doublie sigma)
生成正态分布随机数
RNG.uniform(int a, int b) //a,b为随机数的下限与上限
zeros函数
生成一个跟原图像相同类型和大小的全黑图片
Mat dst = Mat::zeros(src.size(),src.type())
生成随机线条窗口
void RandomLineDemo() //定义一个随机出现线条的窗口
{
RNG rng(12345); //RNG:随机生成函数,生成随机数
Point pt1;
Point pt2;
Mat bg = Mat::zeros(bgImage.size(), bgImage.type()); //定义一个和bgImage同样大小和类型的纯黑图片用于展现随机曲线
for (int i = 0; i < 10000; i++) //定义9999条随机曲线,生成uniform随机数,使得图像的起始点和终止点不要超出背景范围
{
pt1.x = rng.uniform(0, bgImage.cols);
pt2.x = rng.uniform(0, bgImage.cols);
pt1.y = rng.uniform(0, bgImage.rows);
pt2.y = rng.uniform(0, bgImage.rows);
Scalar color = Scalar(rng.uniform(0, 255), rng.uniform(0, 255), rng.uniform(0, 255));
if (waitKey(50) > 0)
{
break;
}
line(bg, pt1, pt2, color, 1, 8);
imshow("random line demo", bg);
}
}
绘制文字
API
putText(处理图像,文字内容,文本左下方的起始点,字体类型,大小(double型),颜色,粗细,线型)
putText(bgImage, "Hello World", Point(200, 200), FONT_HERSHEY_COMPLEX_SMALL, 1.0, Scalar(12, 255, 200), 1, 8);