数据集没处理好,重新处理一下。可能是标签读入和保存时的代码问题,如:
image = cv2.imread(img_pth)
应改成如下所示,标签读入为灰度图
image = cv2.imread(img_pth,0)
此外,还有一个坑是标签做缩放时只能使用最近邻插值,其它双线性插值之类的会导致标签边缘出错(出现多种类别,因为插值后相邻标签可能为其它值)如:
image = cv2.resize(image,dsize=(512,512),fx=1,fy=1,interpolation=cv2.INTER_LINEAR)
应改为
image = cv2.resize(image,dsize=(512,512),fx=1,fy=1,interpolation=cv2.INTER_NEAREST)