【图像处理opencv】_numpy基本操作

目录

1 三个重要属性

2 创建矩阵

3 矩阵转换

4 最大值、最小值、平均值

5 数学运算

6 元素获取


1 三个重要属性

A.dtype : data  type  即A的数据类型,常见有float型、uint8型和float32型

A.shape :即A的形状,比如2×2型,3×3型

A.ndim:n dimension 即A的维度,比如2维,3维等等 

2 创建矩阵

np.array([[1]])

np.uint([1])

np.arange(2,10,2)

np.linsapace(0,2*pi,100)

A=np.zeros((4,3),dtype=np.uint8)

B=np.ones((2,2),dtype=np.float32)

I=np.eye(4)

I2=np.identity(6)

C=np.random,randint(0,10,(4,4))

【图像处理opencv】_numpy基本操作_第1张图片

在jupyter编程中查看某个函数具体用法:光标定位到该函数中,按快捷键Shift+Tab

np.arange()方法---创建一个规定步长的矩阵

介绍:

Docstring: arange([start,] stop[, step,], dtype=None, *, like=None)

Return evenly spaced values within a given interval.

举例

np.linspace() 方法---创建一个等间隔矩阵

介绍:

Signature: np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)
Docstring:Return evenly spaced numbers over a specified interval.

举例

【图像处理opencv】_numpy基本操作_第2张图片

 np.zeros()方法---创建0矩阵

介绍:

zeros(shape, dtype=float, order='C', *, like=None)

Return a new array of given shape and type, filled with zeros.

举例:

【图像处理opencv】_numpy基本操作_第3张图片

 np.eye()方法---创建对角线为1的矩阵,1的位置可通过k的值来移动

介绍

Signature: np.eye(N, M=None, k=0, dtype=, order='C', *, like=None)
Docstring:
Return a 2-D array with ones on the diagonal and zeros elsewhere.

 举例

【图像处理opencv】_numpy基本操作_第4张图片

 np.identity()方法---创建一个单位矩阵

介绍:

Signature: np.identity(n, dtype=None, *, like=None)
Docstring:  Return the identity array.

举例:

【图像处理opencv】_numpy基本操作_第5张图片

 np.random.randint()方法---创建一个随机矩阵

介绍

Docstring: randint(low, high=None, size=None, dtype=int)

Return random integers from `low` (inclusive) to `high` (exclusive).

举例

【图像处理opencv】_numpy基本操作_第6张图片

3 矩阵转换

A.reshape()

A.flatten(), A.ravel()

A.T

A.transpose()

np.hstack([A,B]) , np.vstack([A,B])

A.reshape()方法---改变矩阵形状

介绍

Docstring: a.reshape(shape, order='C')

Return s an array containing the same data with a new shape.

举例:

【图像处理opencv】_numpy基本操作_第7张图片

 A.flatten()方法---拉平矩阵(会导致矩阵降维成向量)

介绍

Docstring: a.flatten(order='C')

Return a copy of the array collapsed into one dimension.

举例:

【图像处理opencv】_numpy基本操作_第8张图片

 A.ravel() 方法---拉平矩阵,与A.flatten()区别在于flatten()是复制,而ravel()是引用

介绍

Docstring:a.ravel([order])

Return a flattened array.

举例:

 B.T()方法---矩阵转置

举例:

【图像处理opencv】_numpy基本操作_第9张图片

 B.transpose()---矩阵转置

介绍

Docstring: a.transpose(*axes)

Returns a view of the array with axes transposed.

举例:

【图像处理opencv】_numpy基本操作_第10张图片

 np.hstack([A,B])方法---将A、B矩阵水平叠加

介绍:

Signature: np.hstack(tup)
Docstring:Stack arrays in sequence horizontally (column wise).

举例:

【图像处理opencv】_numpy基本操作_第11张图片

 np.vstack([A,B])方法---将A,B矩阵垂直叠加

介绍:

Signature: np.vstack(tup)
Docstring:Stack arrays in sequence vertically (row wise).

举例:

【图像处理opencv】_numpy基本操作_第12张图片

4 最大值、最小值、平均值

A.max()

A.min()

A.mean()

np.max()

np.min()

np.mean()

这个很好理解,直接看例子

对整个数组运算:

【图像处理opencv】_numpy基本操作_第13张图片

对数组内的某一行或某一列进行运算(行:axis=0,列:axis=1):

【图像处理opencv】_numpy基本操作_第14张图片

5 数学运算

np.power(A,2)

np.sqrt()

np.log() , np.log2() , np.log10()

A*x , A@x

A.dot(x)

np.power(A,2)方法---将矩阵A内的每个元素平方

举例:

【图像处理opencv】_numpy基本操作_第15张图片

 np.sqrt(B)---将B矩阵开方

举例

【图像处理opencv】_numpy基本操作_第16张图片

 np.log() , np.log2() , np.log10()---对矩阵内的每个元素做对数运算(np.log()默认以e为底)

举例

【图像处理opencv】_numpy基本操作_第17张图片

 A* x---矩阵A与x对位元素相乘,注意:如果矩阵形状不一样,则会自动复制元素不全成相同形状的矩阵后再运算

举例:

【图像处理opencv】_numpy基本操作_第18张图片

 A@ x , A .dot(x)---矩阵A与矩阵x的矩阵乘法

举例

【图像处理opencv】_numpy基本操作_第19张图片

6 元素获取

直接看例子

这是B矩阵

【图像处理opencv】_numpy基本操作_第20张图片

 对B矩阵做下面操作

【图像处理opencv】_numpy基本操作_第21张图片

  

你可能感兴趣的:(OpenCv图像处理,opencv,图像处理,人工智能)