import cv2
import numpy as np
#创建数组
n1 = np.array([1,2,3])
n2 = np.array([0.1,0.2,0.3])
n3 = np.array([[1,2],[3,4]])
print(n1,n2,n3)
#通过dtype,指定数组数据类型
list = [1,2,3]
n1 = np.array(list, dtype = np.float_)
n2 = np.array(list, dtype = float)
print(n1, n2)
print(n1.dtype)
print(type(n1[0]))
#创建三维数组 ndmin为3即为三维数组
nd1 = [1,2,3]
nd2 = np.array(nd1, ndmin = 3)
print(nd2)
#创建两行三列未初始化数组
n = np.empty([2,3])
print(n)
#创建无符号8位整数纯0数组
n = np.zeros((3,3),np.uint8)
#创建纯1数组
n = np.ones((3,3),np.uint8)
#随机数、数组的生成
n1 = np.random.randint(1,3,10)
print("随机生成10个1~3且不包括3的整数:")
print(n1)
n2 = np.random.randint(5,10)
print("size数组大小为空随机返回一个整数")
print(n2)
n3 = np.random.randint(5,size = (2,5))
print("随机生成5以内二维数组")
#数组加法
n1 = np.array([1,2,3])
n2 = np.array([4,5,6])
print(n1+n2)
#数组减法
print(n1-n2)
#数组乘法
print(n1*n2)
#数组除法
print(n1/n2)
#数组幂运算
print(n1**n2)
#数组比较运算返回TRUE/FALSE
print(n1 >= n2)
print(n1 == n2)
print(n1 <= n2)
print(n1 != n2)
#复制数组 两种
n2 = np.array(n1,copy = True)
n2 = n1.copy()
#以下分为两种 直接得到元素(取位置)或得到数组(切片)
#数组索引
print(n1[0])
#数组切片取前一个不取后一个,step为步长,当step为负数时表示倒着走
print(n1[0:2])
print(n1[1:])
print(n1[:3])
#反向索引 s
print(n1[-1])
print(n1[-1:-3:-1])
print(n1[::-1])
#二维数组索引
n = np.array([[0,1,2,3],[2,3,4,5],[7,3,4,5,]])
print(n[1])
print(n[1,2])
print(n[-1])
#二维数组切片
print(n[:2,1:])
print(n[1,:2])
print(n[:2,2])
print(n[:,:1]) #操作第一个切片之后剩下三个数组,后来的切边对每个数组都操作
#数组行索引 = 像素所在行数-1 = 像素纵坐标
#数组列索引 = 像素所在列数-1 = 像素横坐标
#创建图像
width = 200
height = 100
img = np.zeros((height,width),np.uint8)
cv2.imshow("img",img)
cv2.waitKey()
cv2.destroyAllWindows()
各类别数组创建
最新推荐文章于 2024-08-27 16:38:10 发布