python用numpy生成图片,
有朋友对numpy如何生成蒙版图像有疑问。今天,我来为你解答这个问题。
在numpy中,有一个叫ma的模块,复制了numpy中几乎所有的功能。当然,底层的所有函数都被自己定义的新数据类型MaskedArray上的操作所取代。
让我们看看array.最基本的定义
可能带有掩码值的数组类。
True的屏蔽值从任何计算中排除相应的元素。
MaskedArray是一个可能的掩膜信息的数组,对它的任何计算都只针对mask值为True的值。
建筑
x=MaskedArray(data,mask=nomask,dtype=None,copy=False,subok=True,
ndmin=0,fill_value=None,keep_mask=True,hard_mask=None,
收缩=真,顺序=无)
这个类有许多属性,但我们只需要关注三个属性,即data,mask和fill_value.的其他属性都很难使用,例如,hard_mask。如果该属性为真,则意味着一旦某些值被掩盖,数据就真的丢失了。详情请参考源代码注释。但还有更多。
因素
-
数据:数组_like
输入数据。
掩码:序列,可选
面具。必须可转换为具有相同
形状为“数据”。True表示屏蔽(即无效)数据。
填充值:标量,可选
必要时用于填充屏蔽值的值。
如果没有,则使用基于数据类型的默认值。
数据我就不多说了。array_like,tuple,list和ndarray都可以。
Mask是只包含True和False的ndarray,其形状与数据一致。该数组允许您指定需要屏蔽的值,标记为True的数据将被屏蔽。隐蔽的位置会变成——(http://www . Sina.com/)
Fill_value是标量。屏蔽一些值后,如果您想将这些屏蔽值更改为另一个值,则需要使用它。
将numpy.ma作为npm导入
将numpy作为np导入
data=np.random.randint(1,10,size=[1,5,5])
掩码=数据5
arr=npm.array(数据,掩码=掩码)
打印(排列)
#[[[6 6 - 8 - ]
# [ - - - 6 7]
# [9 - - 6 9]
# [ - - 5 - 8]
# [6 9 - 5 - ]]]
但是,numpy也可以直接对ndarray执行条件运算。
将numpy作为np导入
arr=np.random.randint(1,10,size=[1,5,5])
mask=arr5
Arr[mask]=0 #将标记为True的值记录为0
打印(排列)
#[[[9 9 7 6 0]
# [0 0 6 9 0]
# [8 0 8 5 0]
# [0 5 5 8 9]
# [0 7 0 0 6]]]
以上是numpy生成的所有蒙版图像的详细说明。更多Python学习,推荐:PyThon学习网教学中心。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。