Opencv Python API 基本数据结构
Opencv Python API 基本数据结构
本例使用python3.7
opencv环境配置方法:
pip install numpy matplotlib
pip install opencv-python 下载anacoda 只需在anacoda prompt中 执行此句
1、构造 ndarray 对象
构造二维 ndarray
构造2 行 4列 全是0的uchar类型的二维数组
import numpy as np
z = np.zeros((2,4),np.uint8)
type(z)
z
array([[0, 0, 0, 0],
[0, 0, 0, 0]], dtype=uint8)
构造2行4列全是1的整形矩阵
o = np.ones((2,4),np.int32)
o
array([[1, 1, 1, 1],
[1, 1, 1, 1]])
#初始化一个浮点举证
m = np.array([[4,12,3,1],[10,12,14,29]],np.float32)
m
array([[ 4., 12., 3., 1.],
[10., 12., 14., 29.]], dtype=float32)
构造一个三维的 ndarray
三维数组理解成每个元素都是一个二维数组,一个2x2x4的数组理解为2个2x4的二维数组
m = np.array(
[
[[1,2,3,4],[5,6,7,8]],
[[10,11,12,14],[15,16,17,18]]
],np.float32)
print (m)
m
[[[ 1. 2. 3. 4.]
[ 5. 6. 7. 8.]]
[[10. 11. 12. 14.]
[15. 16. 17. 18.]]]
array([[[ 1., 2., 3., 4.],
[ 5., 6., 7., 8.]],
[[10., 11., 12., 14.],
[15., 16., 17., 18.]]], dtype=float32)
获取 ndarray 的成员变量
获取尺寸
m = np.array([[4,12,3,1],[10,12,14,29]],np.float32)
#获取m尺寸
m.shape
(2, 4)
获取类型
m.dtype
dtype('float32')
2、访问 ndarray 中的值
访问二维ndarray
m = np.array([[14,12,3,1],[10,12,114,29],[67,23,534,2]], np.float32)
获取 r行c列的值
m[1,3]#索引都是从0开始
29.0
获取r行所有的值
m[2,:]#获取第2行所有的值
array([ 67., 23., 534., 2.], dtype=float32)
获取第c列所有的值
m[:,3]#获取第3列所有的值
array([ 1., 29., 2.], dtype=float32)
获取连续矩形区域的值
m[0:2,1:3]#获取0行和第1行不包括第二行,和2,3列围成的矩形区域 注意:区间左闭右开
array([[ 12., 3.],
[ 12., 114.]], dtype=float32)
访问三维 ndarray中的值
m = np.array([[[1,2,3,4],
[5,6,7,8]],
[[10,11,12,14],
[15,16,17,18]],
[[11,12,43,32],
[1,5,10,23]]],np.float32)
获取二维数组的第c列
#获取所有二维数组的第0列
m[:,:,0]
array([[ 1., 5.],
[10., 15.],
[11., 1.]], dtype=float32)
获取三维数组中的第n个二维数组
#获取m中第0个二维数组
m[0,:,:]
array([[1., 2., 3., 4.],
[5., 6., 7., 8.]], dtype=float32)
jupyter下载
https://gitee.com/pythonFCGa/Opencv