OpenCV-Python:随机数与随机颜色

目录

Python中随机数

OpenCV-Python随机数

 随机颜色的生成

随机噪声生成

代码练习与测试

知识笔记


Python中随机数

        在Python中,我们可以使用random模块来生成随机数。random模块提供了一系列的函数来生成不同类型的随机数。以下是一些常用的随机数生成函数:

1.random():生成一个0到1之间的随机浮点数。

import randomrandom_number = random.random()
print(random_number)

2.randint(a, b):生成一个在指定范围内的随机整数,包括a和b。

import randomrandom_number = random.randint(1, 10)
print(random_number)

3.uniform(a, b):生成一个在指定范围内的随机浮点数,包括a和b。

import randomrandom_number = random.uniform(1.0, 10.0)
print(random_number)

4.choice(sequence):从给定的序列中随机选择一个元素。

import randommy_list = [1, 2, 3, 4, 5]
random_element = random.choice(my_list)
print(random_element)

5.shuffle(sequence):随机打乱给定的序列。

import randommy_list = [1, 2, 3, 4, 5]
random.shuffle(my_list)
print(my_list)

OpenCV-Python随机数

        在OpenCV-Python中,可以使用cv2模块的randu()randn()函数来生成随机数。

1.cv2.randu(dst, lowerb, upperb):生成一个指定范围内的随机整数数组或矩阵。dst是输出数组或矩阵,lowerb是下界,upperb是上界。下界和上界的数据类型必须匹配dst的数据类型。

import cv2
import numpy as np# 生成一个3x3的int类型的随机矩阵,范围在0到255之间
random_matrix = np.zeros((3, 3), dtype=np.uint8)
lowerb = np.array([0, 0, 0])
upperb = np.array([255, 255, 255])
cv2.randu(random_matrix, lowerb, upperb)
print(random_matrix)

2.cv2.randn(dst, mean, stddev):生成一个服从正态分布的随机数数组或矩阵。dst是输出数组或矩阵,mean是均值,stddev是标准差。均值和标准差的数据类型必须匹配dst的数据类型。

import cv2
import numpy as np# 生成一个3x3的float类型的随机矩阵,均值为0,标准差为1
random_matrix = np.zeros((3, 3), dtype=np.float32)
mean = np.array([0, 0, 0])
stddev = np.array([1, 1, 1])
cv2.randn(random_matrix, mean, stddev)
print(random_matrix)

这些函数可以生成不同类型的随机数数组或矩阵,你可以根据需要选择合适的函数来生成随机数。

 随机颜色的生成

        通过修改绘图函数中的相关参数可以使随机颜色生成。

cv2.rectangle(image, (x, y), (x + width, y + height), color, thickness=2)

随机噪声生成

使用OpenCV-Python中的随机函数生成随机噪声的方法如下:

import cv2
import numpy as np# 创建一个空白图像
image = np.zeros((512, 512), dtype=np.uint8)# 生成随机噪声
cv2.randn(image, np.mean(image), np.std(image))# 显示图像
cv2.imshow("Random Noise", image)
cv2.waitKey(0)
cv2.destroyAllWindows()

        在上述代码中,我们首先创建了一个空白图像,然后使用cv2.randn()函数生成了随机噪声,并将其存储在图像中。最后,使用cv2.imshow()函数显示生成的随机噪声图像。

你可以调整图像的大小和数据类型,以及噪声的均值和标准差,来生成不同类型的随机噪声。

代码练习与测试

        以下是使用OpenCV-Python随机绘制不同大小不同矩形的代码示例:

import cv2
import numpy as np# 创建一个空白图像
image = np.zeros((500, 500, 3), dtype=np.uint8)# 随机绘制10个不同大小的矩形
for _ in range(10):# 随机生成矩形的位置和大小x = np.random.randint(0, 500)y = np.random.randint(0, 500)width = np.random.randint(10, 200)height = np.random.randint(10, 200)# 随机生成矩形的颜色color = (np.random.randint(0, 256), np.random.randint(0, 256), np.random.randint(0, 256))# 在图像上绘制矩形cv2.rectangle(image, (x, y), (x + width, y + height), color, thickness=2)# 显示绘制结果
cv2.imshow("Random Rectangles", image)
cv2.waitKey(0)
cv2.destroyAllWindows()

运行效果图:

        此代码将创建一个500x500的空白图像,并在其中随机绘制10个不同大小的矩形。每个矩形的位置、大小和颜色都是随机生成的。最后,通过OpenCV的imshow函数显示绘制的结果。 

知识笔记

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/206394.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

案例精选|聚铭网络助力莱阳市人民医院打造合规性网络安全保障体系

莱阳市人民医院是一所集医疗、教学、科研、急救、康复、医养结合于一体的大型二级甲等综合性公立医院,占地总面积约3万平方米,建筑面积约7万平方米,设置科室48个,开放床位500张。医院先后获得山东省首批医养结合典型、山东省卒中防…

2024年江苏省职业院校技能大赛信息安全管理与评估 第二阶段学生组(样卷)

2024年江苏省职业院校技能大赛信息安全管理与评估 第二阶段学生组(样卷) 竞赛项目赛题 本文件为信息安全管理与评估项目竞赛-第二阶段样题,内容包括:网络安全事件响应、数字取证调查、应用程序安全。 本次比赛时间为180分钟。 …

MySQL数据库从小白到入门(二)

多表关系: 项目开发中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构。由于业务之间相互关联,所以各个表结构之间也存在着各种联系,基本上分为三种。 外键: 创…

批量AI人工智能写作软件下载【2024最新】

在当今数字化的浪潮中,人工智能技术为各行各业带来了颠覆性的变革。其中,AI在文案创作领域的应用尤为引人瞩目,而批量AI人工智能写作更是成为文案创作者们关注的热点。本文将深入探讨批量AI人工智能写作的概念、其在不同领域的应用&#xff0…

【Flink系列二】如何计算Job并行度及slots数量

接上文的问题 并行的任务,需要占用多少slot ?一个流处理程序,需要包含多少个任务 首先明确一下概念 slot:TM上分配资源的最小单元,它代表的是资源(比如1G内存,而非线程的概念,好多…

Uniapp - 环境搭建 vscode开发

uni-app 基础 创建 uni-app 项目方式 uni-app 支持两种方式创建项目: 通过 HBuilderX 创建(需安装 HBuilderX 编辑器) 通过命令行创建(需安装 NodeJS 环境) HBuilderX 创建 uni-app 项目 创建步骤 1.下载安装 H…

ElasticSearch篇---第七篇

系列文章目录 文章目录 系列文章目录前言一、什么是ElasticSearch中的过滤器?二、启用属性,索引和存储的用途是什么?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧…

2023 金砖国家职业技能大赛网络安全省赛二三阶段样题(金砖国家未来技能挑战赛)

2023 金砖国家职业技能大赛网络安全省赛二三阶段样题(金砖国家未来技能挑战赛) 第二阶段: 安全运营 **背景:**作为信息安全技术人员必须能够掌握操作系统加固与安全管控、防火 墙一般配置、常见服务配置等相关技能,利…

点云从入门到精通技术详解100篇-线激光点云数据处理(续)

目录 4.2基于图像特征的点云拼接 4.2.1 算法描述及流程 4.2.2 二值图像生成 4.2.3 SIFT 图像匹配

MangoDB数据可updata报错

报错详情 报错原因 语法错误,我们调整语法即可 update({要修改的行},{$set{要修改的字段}})

代码混淆技术探究与工具选择

引言 在软件开发中,保护程序代码的安全性是至关重要的一环。代码混淆(Obfuscated code)作为一种常见的保护手段,通过将代码转换成难以理解的形式来提升应用被逆向破解的难度。本文将介绍代码混淆的概念、方法以及常见的代码混淆工…

2023年5个自动化EDA库推荐

EDA或探索性数据分析是一项耗时的工作,但是由于EDA是不可避免的,所以Python出现了很多自动化库来减少执行分析所需的时间。EDA的主要目标不是制作花哨的图形或创建彩色的图形,而是获得对数据集的理解,并获得对变量之间的分布和相关…

【WPF】应用程序和已知安卓设备的局域网IP之间进行通信

要在WPF应用程序和已知安卓设备的局域网IP之间进行通信,可以使用Socket通信。以下是一个基本的示例: 在WPF应用程序中创建一个Socket对象并连接到安卓设备的IP地址和端口号: using System.Net.Sockets;// 创建一个Socket对象 Socket socket…

【数据结构】栈和队列算法总结

知识概览 在数据结构中&#xff0c;栈和队列都属于线性表。栈是先进后出&#xff08;FILO&#xff09;的&#xff0c;队列是先进先出&#xff08;FIFO&#xff09;的。 代码模板 #include <iostream>using namespace std;const int N 100010;// ********************…

测试文档---消息驿站

文章目录 项目背景测试计划服务器模块设计测试用例进行单元测试/黑盒测试 客户端模块设计测试用例进行单元测试/黑盒测试 转发规则模块设计测试用例进行单元测试/黑盒测试 测试总结 项目背景 在高并发量的情况下&#xff0c;针对某一台服务器的访问量激增就可能导致该服务器“…

java中synchronized和Lock的区别是什么?

synchronized 和 Lock 都是 Java 中用于实现线程同步的机制&#xff0c;但它们在使用方式和功能上存在一些区别。 使用方式 synchronized&#xff1a; 是 Java 语言关键字&#xff0c;可用于方法或代码块。通过 synchronized 关键字实现的同步是隐式的&#xff0c;无需手动释…

欧拉操作系统

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 这个章节主要是介…

安全快速地删除 MySQL 大表数据并释放空间

一、需求 按业务逻辑删除大量表数据操作不卡库&#xff0c;不能影响正常业务操作操作不能造成 60 秒以上的复制延迟满足以上条件的前提下&#xff0c;尽快删除数据并释放所占空间 表结构如下&#xff1a; create table space_visit_av (userid bigint(20) not null comment 用…

【微软技术栈】发布自己造的轮子 -- 创建Nuget包(分布操作)

目录 1、您的项目 2、创建 .nuspec 文件 3、一张图片胜过一千个拉取请求 4、包括自述文件 MD 文件 5、构建软件包 6、将包部署到 Nuget.Org 7、手动上传软件包 8、自动化和脚本化部署 9、我们如何构建和部署 ErrLog.IO Nuget 包 10、Nuget统计数据 11、最后的思考 创建 Nuget 包…

电话卡Giffgaff激活

Giffgaff是一家总部位于英国的移动电话公司。作为一家移动虚拟网络电信运营商&#xff0c;Giffgaff使用O2的网络&#xff0c;是O2的全资子公司&#xff0c;成立于2009年11月25日。 Giffgaff与传统的移动电话运营商不同&#xff0c;区别在于其用户也可以参与公司的部分运营&…