图像分割将label和得到的mask画入原图

最近参加天池的比赛,写了几行代码将mask和label画入原图,便于观察那些数据得到的效果不太好,详细的代码如下:

import os
import cv2
import numpy as np
import params

def show(img, mask, mode=‘B’):
“”"
:param img:图像矩阵,shape:(H,W,3)
:param mask: 标签矩阵,shape:(H,W)
:param mode: ‘R’,‘G’,‘B’
:return:
“”"
mask = mask.reshape(label.shape[0], label.shape[1], 1)
n = np.zeros(mask.shape)
if mode == ‘B’:
lar = np.concatenate((mask, n, n), axis = 2)
elif mode == ‘G’:
lar = np.concatenate((n, mask, n), axis = 2)
elif mode == ‘R’:
lar = np.concatenate((n, n, mask), axis = 2)
else:
return
lar = lar255
lar = lar + img
max = np.max(lar)
ret = lar/max
#下面两行移到函数外
# i += 1
# cv2.imwrite(params[‘mask_label’]+str(i)+’.png’, ret)

return ret
255
加入到训练过程中,可以得到如下的结果:
图像分割将label和得到的mask画入原图
图像分割将label和得到的mask画入原图
可以看出来有个问题,画出来的图会变暗