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

MangoDB数据可updata报错

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

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

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

2023年5个自动化EDA库推荐

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

测试文档---消息驿站

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

欧拉操作系统

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

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

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

电话卡Giffgaff激活

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

Java简易版:UDP协议实现群聊

服务端&#xff1a; package 二十一章;import java.io.*; import java.net.*; import java.util.ArrayList; public class T{public static ServerSocket server_socket;public static ArrayList<Socket> socketListnew ArrayList<Socket>(); public static void…

翡翠手镯镯子断了怎么修复?

修复翡翠镯子需要谨慎对待&#xff0c;因为翡翠是一种比较脆弱的宝石&#xff0c;不适合使用一般的胶水或者粘合剂。必须选择针对翡翠手镯玉器玉石珠宝宝石石材专用的胶粘剂&#xff1a; 1.收集断裂的部分&#xff1a; 尽量收集到所有断裂的部分&#xff0c;包括碎片。这有助于…

Raspberry Pi 2, 2 of n - Pi 作为 IoT 消息代理

目录 介绍 环境 先决条件 - 设置静态 IP 地址 安装 Mosquitto 启动/停止 Mosquitto 配置先决条件 - 安装 mqtt_spy 配置 Mosquitto 配置 Mosquitto - 无安全性 测试 Mosquitto 配置 - 无安全性 配置 Mosquitto - 使用密码身份验证 Mosquitto 测试 - 带密码验证 概括 介绍 在本文…

数据二十条

"数据二十条"即中共中央、国务院关于构建数据基础制度更好发挥数据要素作用的意见&#xff0c;全文共分为五章二十条。 一、发布 2022年6月22日召开了中央全面深化改革委员会第二十六次会议。审议通过《关于构建数据基础制度更好发挥数据要素作用的意见》。 2022…

机器学习应用 | 使用 MATLAB 进行异常检测(下)

在使用MATLAB 进行异常检测&#xff08;上&#xff09;中&#xff0c;我们探讨了什么是异常值&#xff0c;简单的一维数据异常检测问题&#xff0c;针对高维数据的有监督异常检测方法。 在&#xff08;下&#xff09;篇中&#xff0c;我们将和大家一起探讨无监督异常检测。 没…