np.ones

简介: np.ones

np.ones 是一个由 NumPy 库提供的函数,用于创建一个给定形状和数据类型的全1数组。

np.ones 函数的基本用法:

numpy.ones(shape, dtype=None)
  • shape:数组的形状,可以是一个整数或整数的元组。
  • dtype:输出数组的数据类型,默认为 numpy.float64。如果不指定,会根据系统配置选择一个合适的数据类型。

在代码中的作用:

在代码中,np.ones 被用来创建一个白色的背景图像,具体如下:

img = np.ones((width, height, 3), np.uint8) * 255

这里,np.ones 创建了一个形状为 (width, height, 3) 的数组,其中 widthheight 分别为图像的宽度和高度,3 表示 RGB 三个颜色通道。np.uint8 指定了数组的数据类型为无符号8位整数,这是图像处理中常用的数据类型,因为它可以表示0到255的像素强度值。

然后,通过乘以 255,将数组中的所有元素值设置为255,这在8位无符号整数中代表白色。因此,这行代码创建了一个宽 width、高 height 的白色背景图像。

代码段的详细解释:

  1. width, height = 200, 200:设置图像的宽度和高度为200像素。

  2. r = 20:设置圆的半径为20像素。

  3. x, y = r + 20, r + 100:设置圆的初始位置,使得圆心位于距离图像左上角 (20 + 20, 20 + 100) 像素的位置。

  4. x_offer, y_offer = 4:设置圆移动的速度,每次循环 x 和 y 分别增加或减少4像素。

  5. while cv2.waitKey(1) == -1:使用 cv2.waitKey(1) 检查是否有按键输入,参数 1 表示等待1毫秒,如果没有按键输入,则继续循环。

  6. 在循环中,根据圆的位置更新 x_offery_offer 的值,以实现圆的反弹效果。

  7. x += x_offery += y_offer:更新圆心的位置。

  8. 使用 cv2.circle 在图像上绘制一个半径为 r 的圆,圆心位于 (x, y),颜色为红色 (255, 0, 0)-1 表示填充整个圆形。

  9. cv2.imshow("img", img):显示图像。

  10. time.sleep(1 / 60):等待大约 1/60 秒,以创建动画效果。

  11. cv2.destroyAllWindows():在循环结束后,关闭所有OpenCV创建的窗口。

通过这种方式,代码实现了一个简单的动画效果,显示一个红色的圆在白色背景上弹跳。

目录
相关文章
|
1月前
|
索引 Python
Numpy学习笔记(三):np.where和np.logical_and/or/not详解
NumPy库中`np.where`和逻辑运算函数`np.logical_and`、`np.logical_or`、`np.logical_not`的使用方法和示例。
106 1
Numpy学习笔记(三):np.where和np.logical_and/or/not详解
|
6月前
|
存储 数据挖掘 数据格式
np.fromfile
np.fromfile“【5月更文挑战第22天】”
526 3
|
1月前
|
Python
Numpy学习笔记(五):np.concatenate函数和np.append函数用于数组拼接
NumPy库中的`np.concatenate`和`np.append`函数,它们分别用于沿指定轴拼接多个数组以及在指定轴上追加数组元素。
27 0
Numpy学习笔记(五):np.concatenate函数和np.append函数用于数组拼接
|
1月前
|
机器学习/深度学习 索引 Python
Numpy学习笔记(二):argmax参数中axis=0,axis=1,axis=-1详解附代码
本文解释了NumPy中`argmax`函数的`axis`参数在不同维度数组中的应用,并通过代码示例展示了如何使用`axis=0`、`axis=1`和`axis=-1`来找到数组中最大值的索引。
79 0
Numpy学习笔记(二):argmax参数中axis=0,axis=1,axis=-1详解附代码
|
6月前
np.where()使用详解
1.函数介绍 np.where函数相当于三元表达式的向量版本,能够针对向量作三元操作,有两种使用方法。 np.where(condition, x, y):当满足第一个参数条件时,where返回x,不满足第一个参数的条件时返回y。
142 0
|
算法 定位技术
浅谈P、NP、NP-Complate和NP-Hard问题
时间复杂度 时间复杂度并不是表示一个程序解决问题需要花多少时间,而是当程序所处理的问题规模扩大后,程序需要的时间长度对应增长得有多快。 也就是说,对于某一个程序,其处理某一个特定数据的效率不能衡量该程序的好坏,而应该看当这个数据的规模变大到数百倍后,程序运行时间是否还是一样,或者也跟着慢了数百倍,或者变慢了数万倍。 不管数据有多大,程序处理所花的时间始终是那么多的,我们就说这个程序很好,具O(1)O(1)O(1)的时间复杂度,也称常数级复杂度;
|
机器学习/深度学习 PyTorch 算法框架/工具
Numpy | np.random随机模块的使用介绍
Numpy | np.random随机模块的使用介绍
243 0
Numpy | np.random随机模块的使用介绍
|
数据可视化 PyTorch 算法框架/工具
np.squeeze 的用法
np.squeeze 的用法
|
算法
【计算理论】计算复杂性 ( NP 完全问题 | NP 难 问题 P = NP 的情况 | NP 难 问题 P ≠ NP 的情况 )
【计算理论】计算复杂性 ( NP 完全问题 | NP 难 问题 P = NP 的情况 | NP 难 问题 P ≠ NP 的情况 )
177 0
【计算理论】计算复杂性 ( NP 完全问题 | NP 难 问题 P = NP 的情况 | NP 难 问题 P ≠ NP 的情况 )