OpenCV使用NumPy库创建数组

OpenCV 使用NumPy库创建数组

代码及相关注释如下:

# -*- coding: utf-8 -*-
# @Time    : 2021/7/19
# @Author  : ZYh
"""
Introduction:
·创建数组方法: numpy.array(object, dtype, copy, order, subok, ndmin)
    object:任何具有数组接口方法的对象
    dtype: 数据类型
    copy: 可选参数,布尔型,默认True,则object对象被复制
    order: 元素在内存中出现的顺序
    subok: 布尔型: 如果为True,则将传递子类,否则返回的数组将强制为基类数组
    ndmin: 生成数组的最小维数
·创建一维二维数组
·创建浮点类型数组
·创建三维数组     ndmin = 3
·创建指定维度和数据类型未初始化的数组     np.empty([2, 3])
·创建用0填充的数组      np.zeros((3, 3), np.uint8)
    OpenCV常用该方法创建纯黑图像
·创建用1填充的数组
    OpenCV常用该方法创建纯掩模,卷积核等用于计算的二维数据
·创建随机数组
    语法:     numpy.random.randint(low, high, size)
        randint()方法用于生成一定范围内的随机整数数组,左闭右开区间[low, high)
        low: 随机数最小取值范围
        high:可选参数,随机数最大取值范围。 若为空,取值范围为(0, low),若存在,则high>low
        size:可选参数,数组维数
"""
import numpy as np

# 创建一维和二维数组
n1 = np.array([1, 2, 3])    # 创建简单一维数组
n2 = np.array([0.1, 0.2, 0.3])  # 创建包含小数的一维数组
n3 = np.array([[1, 2, 5, 6], [3, 4, 8, 9]]) # 创建一个简单的二维数组

print(n1)
print(n2)
print(n3)
print()

# 创建浮点类型数组
list = [1, 2, 3] # 列表
# n4 = np.array(list, dtype=np.float_)    # 创建浮点型数组
n4 = np.array(list, dtype=float)
print(n4)
print(n4.dtype)
print(type(n4[0]))
print()

# 创建三维数组,将ndmin参数值设为3
nd1 = [1, 2, 3]
nd2 = np.array(nd1, ndmin=3)    # 三维数组
print(nd2)
print()

# 创建指定维度和数据类型未初始化数组
n = np.empty([2, 3])    # 创建2行3列的未初始化数组
print(n)
print()

# 创建用0填充的数组
n_0 = np.zeros((3, 3), np.uint8)
print(n_0)
print()

# 创建用1填充的数组
n_1 = np.ones((3, 3), np.uint8) # 创建3行3列无符号8位整数纯1数组
print(n_1)
print()

# 创建随机数组
# randint()生成左闭右开区间 [low, high)
print("随机生成10个1~3之间且不包括3的整数:")
rand_1 = np.random.randint(1, 3, 10)
print(rand_1)

print("size数组大小为空则随即返回一个整数:")
rand_2 = np.random.randint(1, 5)
print(rand_2)

print('随机生成5以内的二维数组:')
# 没有high 范围为(0, low)
rand_3 = np.random.randint(5, size=(3, 5))  # 二维数组位3行5列
print(rand_3)

部分代码运行截图:
OpenCV使用NumPy库创建数组_第1张图片

你可能感兴趣的:(OpenCV,Python,numpy,opencv,python)