当前位置: 首页 > news >正文

OpenCV 随机数和随机颜色

一、知识点
1、RNG
  (1)、随机数生成器。
  (2)、该类具有返回标量随机值和用随机值填充数组的方法。
  (3)、RNG()
      默认构造函数,以系统时间为种子。
  (4)、RNG(uint64 state)
      有参构造函数,指定随机数的种子为state。 使用相同的种子值可以保证生成的随机数序列一致。
  (5)、int uniform(int a, int b)
      随机生成[a, b)范围内的均匀分布的随机整数。
  (6)、float uniform(float a, float b)
      随机生成[a, b)范围内的均匀分布的随机浮点数。
  (7)、double uniform(double a, double b)
      随机生成[a, b)范围内的均匀分布的随机双精度浮点数。
  (8)、double gaussian(double sigma)
      生成以0为均值,sigma为标准差的正态分布的随机数。
      
      
二、示例代码

#include <iostream>
#include <opencv2/opencv.hpp>int main()
{cv::Mat canvas = cv::Mat::zeros(cv::Size(512, 512), CV_8UC3);int w = canvas.cols;int h = canvas.rows;//随机数生成器cv::RNG rng(12345);while (true){int c = cv::waitKey(50);if (c == 27){break;}//随机生成的位置int x1 = rng.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 = cv::Scalar(0, 0, 0);cv::line(canvas, cv::Point(x1, y1), cv::Point(x2, y2), cv::Scalar(b, g, r), 1, cv::LINE_AA, 0);//注意: 因人眼捕捉东西的时间间隔约300ms, 而系统约50ms就画一道线,所以视觉上好像是几条线同时出现在屏幕上 cv::imshow("随机数与随机颜色", canvas);}return 0;
}

http://www.xdnf.cn/news/1006867.html

相关文章:

  • 单片机中面向对象的思维
  • 如何处理HTML5兼容性的问题
  • glibc
  • 数据信号处理方法三板斧
  • 会技术的产品经理
  • Keep-Alive 续集:Vue.extend 的遗产解析与优雅告别
  • 文档测试发送
  • 聚集索引与非聚集索引
  • Chapter07-信息披漏
  • Python原生爬虫教程:微店商品详情API接口攻略指南
  • 安徽省考计算机专业课笔记
  • XSS攻击概念通俗解释
  • STM32H7 SD卡使用以及其DMA读写
  • 【AI】理解神经网络原理
  • Java学习笔记之:Vue中路由的基本使用
  • 日语学习-日语知识点小记-构建基础-JLPT-N4阶段(34):ようですそうですばかりのに
  • 由于现在ui设计软件百花齐放,用传统的photoshop设计页面的方式正被摒弃
  • YOLOv2 技术详解:目标检测的又一次飞跃
  • 力扣100- 环形链表
  • vue-property-decorator实践(一)
  • 在 pgvector 中指定相似度搜索方法
  • 能提升30%!Infortrend普安存储自动分层增强版赋能文件共享与医疗影像
  • 华为OD机考-英文输入法-逻辑分析(JAVA 2025B卷)
  • 从 CAN FD 到 SD NAND(SLC)存储:S32K146 T-Box 如何驱动车载数据架构革新?
  • LeetCode 1143. 最长公共子序列 | 动态规划详解
  • 无人机遥控器低延迟高刷新技术解析
  • C# .NET Core Source Generator(C# .NET Core 源生成器)
  • md文件转word文档
  • 单元测试基本步骤
  • Spring MVC 常用请求处理注解总结