mask积累

mask是掩码,
A[mask]=v,
通过mask,令A的部分值为v。
A和mask的形状一样,mask只有0或1,或True or False,
mask和A的位置一一对应,当mask的某个位置为1或True时,A的对应位置设为v。

import numpy as np

item = 0
color_mask = np.array([[0, 0, 0, 0, 0],
                       [0, 0, 0, 0, 0],
                       [0, 0, 0, 0, 0],
                       [0, 0, 255, 255, 255],
                       [0, 0, 255, 255, 255]])
encode_mask = np.zeros((color_mask.shape[0], color_mask.shape[1]))
print("type(item):{}".format(type(item)))
print("color_mask:{}".format(type(color_mask)))
print("color_mask==item:{}".format(color_mask==item)) 
print("encode_mask:{}".format(encode_mask))
encode_mask[color_mask==item] = 1
print("encode_mask:{}".format(encode_mask))

输出:

type(item):<class 'int'>
color_mask:<class 'numpy.ndarray'>
color_mask==item:[[ True  True  True  True  True]
 [ True  True  True  True  True]
 [ True  True  True  True  True]
 [ True  True False False False]
 [ True  True False False False]]
encode_mask:[[0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0.]]
encode_mask:[[1. 1. 1. 1. 1.]
 [1. 1. 1. 1. 1.]
 [1. 1. 1. 1. 1.]
 [1. 1. 0. 0. 0.]
 [1. 1. 0. 0. 0.]]

img被fgr2有值的值换掉

img[fgr2_mask] = fgr2[fgr2_mask]
fgr2_mask是fgr2 有值的mask

import numpy as np 

img = np.zeros((2,2))
fgr2 = np.array([[2,3],[0,0]])
mask_fgr2 = np.zeros((2,2))
mask_fgr2[fgr2>0]=1
mask_fgr2 = mask_fgr2.astype(np.uint8)
print(mask_fgr2)
print(fgr2)
print(img)
img[mask_fgr2] = fgr2[mask_fgr2]
print(img)

output:

[[1 1]
 [0 0]]
[[2 3]
 [0 0]]
[[0. 0.]
 [0. 0.]]
[[2. 3.]
 [0. 0.]]
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值