|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 不二如是 于 2020-2-20 22:25 编辑
上一讲我们学习了高纬度数组的转换,本讲来学习快速创建指定数组。
在14 - 深度堆叠/拆分我们拆分了图片为 b,g,r 三个颜色通道。
利用上面的方法,快速将下面的图像分解下。
代码:
看效果:
最上面的原图是彩色,说明是 3 通道。
但通过 dsplit 导出的图片都是黑白的呢?
我们看下类型:
208 行,426 列, 1 通道。
最后一位必须是 3 位才能是彩色。
所以我们需要:
NumPy 中提供了zeros() 和 zero_like() 。
先看 zeros() 玩法:
既然图片是 208 * 426,3 通道就要这么写:
很赞,得到一个全 0 的 3 通道数组。
如果还想更懒,连 208 * 426 都不想写,请用 zero_like() 。
直接创建和 tstImg 类似的全 0 数组:
然后只需要分别将 B,G,R 分别放到全 0 数组中,变成 3 通道。
没错,还是切片索引:
最后显示出来:
看效果:
是不是搞定啦?!
各个通道,都按照特征色显示出来。
除了 zeros,NumPy 中还有其他方法(就不做演示啦):
- zeros 创建指定形状和类型的全 0 数组
- zeros_like 创建另一个数组的形状和类型创建全 0 数组
- ones 创建指定形状和类型的全 1 数组
- ones_like 创建另一个数组的形状和类型创建全 1 数组
- empty 创建指定形状和类型的空数组,不对数据进行初始化
- empt_like 根据另一个数组的形状和类型创建空数组,不对数据尽兴初始化
- full 创建指定形状和类型的数组,全部填上指定的值
- full_like 根据另一个数组的形状和类型创建空数组,全部填上指定的值
full 会覆盖上面的方法。
下一讲我们来学习用 NumPy 画函数图。
源代码:
16FastCreate.zip
(409 Bytes, 下载次数: 2, 售价: 3 鱼币)
如果有收获,别忘了评分 :
如果想看更多,请订阅 淘专辑( 传送门)( 不喜欢更要订阅 ) |
|