Open Tomhouxin opened 4 years ago
np.eye(3)[trimap.reshape(-1)]之所以会越界,是因为T_net的结果trimap 除了0 128 255以外,还有(0,128)区间的值,这部分值应该是属于unknown区域,这样也就形成了如下透明边缘 如果理解有误,望指出 为了保证M_net输入trimap正确,我暂时把(0,128)区间的值都变成了1, 但这样应该是会对最终结果有较大影响
我发现转换为png格式的trimap输出可以改善这个结果
png 格式的trimap 没有压缩,jpg的话会压缩,从而出现了0-128之间的值
在测试test里的m_net时候,发现代码跑不通,原因如下 1, trimap = np.eye(3)[trimap.reshape(-1)].reshape(list(trimap.shape) + [3]) 这里应该是准备把一通道的trimap变成三通道,但np.eye(3)[trimap.reshape(-1)]会out of bounds,3*3的对角矩阵下标越界
2,frame_seg = seg_process(args, (tensor_img, tensor_tri), net, trimap=trimap_src) 应该把最后一个参数去掉,seg_process方法没有这个参数