numpy数组替换其中的值
data[data==1] = 9999
实例
import numpy as np
data = np.array([[1,2,3],[1,5,6]])
data[data==1] = 9999
data == 9999
1替换为255
mask1[mask1 == 1] = 255
masks = Image.open(os.path.join(self.data_dir, 'SegmentationObject/{}.png'.format("2007_000876"))) # mask的数值来自于图片
# 压缩到0-1之间
masks = transforms.ToTensor()(masks)
# 找到mask中有哪几种不同的数值
uni = masks.unique()
# 其中在0和1之间的数值分别代表一个mask(实例分割)
uni = uni[(uni > 0) & (uni < 1)]
# 将图片中等于uni的部分分别转为值为0,1的图片
res = uni.reshape(-1,1,1)
masks = (masks == uni.reshape(-1, 1, 1)).to(torch.uint8)
mask1 = masks.cuda().cpu().numpy()[0]
mask2 = masks.cuda().cpu().numpy()[1]
mask1[mask1 == 1] = 255
m1 = Image.fromarray(mask1)
m1.show()
mask2[mask1 == 1] = 255
m2 = Image.fromarray(mask2)
m2.show()