- 若待分割的目标物的种类为n,那么label的值最大为n-1。
比如我要分割4类物体,那么我的label就应当设置为0,1,2,3。
设置的方法为:
(1)label为单通道有值时,比如只是R通道有值,那么可以使用PIL中的.convert(‘P’)将label图片转为通过调色板与三通道RGB图像对应的单通道图。
(2)label为三个通道都有值的情况,比如目标物一为[128,0,0],目标物二为[0,128,0],目标物三为[0,0,128],目标物四为[0,0,0]。那我们可以先除以128后,给每个通道赋值,然后将通道相加。
# r = 1 , g=2, b=3
np_img = np.array(pil_img)
np_img /= 128
label = 1*np_img[:,:,0] + 2*np_img[:,:,1] + 3*np_img[:,:,2]
return label
2.numpy.unique()可以滤除numpy矩阵中重复的值,并顺序排好矩阵中的值。
可以用它查看我们设置的label图片是否正确。