·像素的操作(Array)
·像素
·确定像素的位置
·imread()读取图片
·img[x,y]坐标xy上的像素
·获取像素的BGR值
·print()xy坐标上的像素值
·修改像素的BGR值
·强制修改
·0:B;1:G;2R
·使用NumPy模块操作像素
·NumPy概述
·强大的N维数组对象ndarray
·广播功能方法
·线性代数、傅里叶变换、随机数生成、图形操作等功能
·整合C/C /Fortran代码的工具
·数组的类型
·bool_
·存储为一个字节的布尔值
·int_
·默认整数,相当于C的long,通常为int32或int64
·intc
·相当于C语言的int,通常为int32或int64
·intp
·用于索引的整数,相当于C语言中的size_t,通常为int32或int64
·int8
·字节(-128~128)
·int16
·16位整数
·int32
·32位整数
·int64
·64位整数
·uint8
·8位无符号整数
·uint16
·16位无符号整数
·uint32
·32位无符号整数
·uint64
·64位无符号整数
·float_
·_float64的简写
·float16
·半精度浮点
·float32
·单精度浮点
·float64
·双精度浮点
·complex_
·complex128类型的简写
·complex64
·复数,由两个32 位浮点表示
·complex128
·复数,由两个64位浮点表示
·datatime64
·日期时间类型
·timedalta64
·两个时间之间的间隔
·创建数组:Array()方法
·numpy.array(object,dtype,copy,order,subok,ndmin)
·object:任何具有数组接口方法的对象
·dtype:数据类型
·copy:可选参数,布尔型,默认值为True,则object对象被复制;否则,只有当_array_返回副本,object参数为嵌套序列,或者需要副本满足数据类型的顺序要求时,才会生成副本。
·order:元素在内存中的出现顺序,其值为K、A、C、F。如果object参数不是数组,则新穿件的数组将按行数列,如果值为F,则按照列排列;如果object参数是一个数组,则以下顺序成立:C(按行)、F(按列)、A(原顺序)、K(元素在内存中的出现顺序)。
·subok:布尔型。如果值为True,则传递子类,否则返回的数组将强制为基类数组(默认值)
·ndmin:指定生成数组的最小维数
·创建随机数组
·numpy.random.randint(low,high,size)
·low:随机数最小取值范围
·high:可选参数,随机数最大取值范围。若high为空,取值范围为(0,low)。若high不为空,则high必须大于low。
·size:可选参数,数组维数
·randint()方法用于生成一定范围内的随机整数数组,左闭右开区间([low,high])
·操作数组
·幂运算:**
·比较运算:>=/==/<=/!=
·复制数组:copy()
·数组的索引和切片
·索引:x[obj]进行索引,x是数组,obj是选择方式
·切片式索引[start,stop,step]
·start:起始索引,若不写任何值,则表示从0开始的全部索引
·stop:终止索引,若不写任何值,则表示直到末尾的全部索引
·step:步长
·创建图像
·创建黑白图像
·像素值为0表示纯黑,像素值为255表示纯白
·纯白使用ones函数*255
·纯黑使用zeros函数
·彩色图像
·为每个通道复制一个img(图像),然后为每一个通道设置像素值
·随机图像
·使用random和randint函数实现
·拼接图像
·水平拼接数组
·array=numpy.hstack(tup)
·tup:要拼接的数组元组
·array:将参数元组中的数组水平拼接后生成的新数组
·hstack()方法可以拼接多个数组
·垂直拼接数组
·array=np.vstack(tup)
·tup:要拼接的数组
·array:将参数元组中的数组垂直拼接后生成的新数组
·vstack()方法可以拼接多个数组
下面是代码实例