1.用到的库:
- numpy:用于处理数组(与线性代数相关的内容)
- cv2:即opencv,是计算机视觉库,可用于图像处理
- rich:用于将丰富的文本(带有颜色和样式)写入终端,并用于显示高级内容,例如表格
注意:numpy与cv2通常连用,因为opencv读取图像(.imread),返回值是一个多维数组。opencv对图像的任何操作,本质上就是对numpy多维数组的运算。
2.numpy(import numpy as np)
- np.array():创建给定元素的数组【numpy所有的运算都是围绕着数组进行的,所以在计算之前,要将需计算的数据表示成数组的形式】
- np.zeros((a,b)):创建一个全为0的数组,此处为a行b列
- a.shape:获取数组a的尺寸【如输出(3,2),则意为3行2列】
- np.cross:计算两个向量(向量数组)的叉乘。叉乘返回的数组既垂直于
a
,又垂直于b
。 -
np.linalg.solve(M,N):用于求解线性方程Mx=N的解x
-
np.tan:对数组中的每一个元素求其正切值
-
sklearn聚类算法之DBSCAN:得到一个聚类的核心观察值得集合。最后,凡是在聚类附近但又不是核心的观察值将被认为属于这个聚类,而那些离聚类很远的观察值将被标记为噪声。
- 两个相同尺寸的数组可直接行四则运算【数组相同位置的元素进行加减乘除】
- 数组默认的数据类型是64位的浮点数,也可通过dtype指定其他数据类型【如a=np.array((4,2),dtype=np.int32)将a指定为32位的整形】
- 数组可直接与一个数运算【如a=np.array([1,2,3]),则a*5,输出([5,10,15])
- 获取部分数据:如a[0,0:2],意为获取第一行的第一列与第二列数据