欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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);