不二如是 发表于 2020-2-19 22:55:11

16 - 快速创你所要|【补0补1】

本帖最后由 不二如是 于 2020-2-20 22:25 编辑

上一讲我们学习了高纬度数组的转换,本讲来学习快速创建指定数组。

在14 - 深度堆叠/拆分我们拆分了图片为 b,g,r 三个颜色通道。

利用上面的方法,快速将下面的图像分解下。



代码:


看效果:


最上面的原图是彩色,说明是 3 通道。

但通过 dsplit 导出的图片都是黑白的呢?

我们看下类型:


208 行,426 列, 1 通道。

最后一位必须是 3 位才能是彩色。

所以我们需要:

**** Hidden Message *****

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 画函数图。

源代码:



如果有收获,别忘了评分{:10_281:} :

http://xxx.fishc.com/forum/201709/19/094516hku92k2g4kefz8ms.gif

如果想看更多,请订阅 淘专辑(传送门)(不喜欢更要订阅{:10_297:} )

dlnb526 发表于 2020-2-20 08:36:04

挺过上一讲,感觉 NumPy 能力又强啦。
抢楼{:5_109:}

qiuyouzhi 发表于 2020-2-20 08:51:36

挺过上一讲,感觉 NumPy 能力又强啦
抢二楼~~~

zltzlt 发表于 2020-2-20 09:59:28

挺过上一讲,感觉 NumPy 能力又强啦

TCY 发表于 2020-2-24 11:32:02

挺过上一讲,感觉 NumPy 能力又强啦

tjuwlb 发表于 2020-3-8 11:28:05

挺过上一讲,感觉 NumPy 能力又强啦

听风夜雨 发表于 2020-4-5 08:22:33

挺过上一讲,感觉 NumPy 能力又强啦

zsygsnbfsdm 发表于 2020-7-4 14:44:30

挺过上一讲,感觉 NumPy 能力又强啦

卡卡尼西亚 发表于 2020-7-25 10:24:16

挺过上一讲,感觉 NumPy 能力又强啦

lijiachen 发表于 2020-7-26 14:38:28

挺过上一讲,感觉 NumPy 能力又强啦

Tikooy 发表于 2023-10-22 16:59:02

挺过上一讲,感觉 NumPy 能力又强啦
页: [1]
查看完整版本: 16 - 快速创你所要|【补0补1】