我找到了这个狗和猫图像数据集:
Oxford-IIIT 宠物数据集。
知道像素级前景-背景分割(trimap)图像是如何生成的吗?
我想将它用于我自己的数据集。
像素级前景-背景分割
具有三种颜色的图像(一种用于背景,一种用于前景,一种用于未分类区域)
小智 1
注意:输入图像是二进制形式
def generate_trimap(mask_path,eroision_iter=6,dilate_iter=8):
mask = mask_path
mask = cv2.imread(mask,0)
mask[mask==1] = 255
d_kernel = np.ones((3,3))
erode = cv2.erode(mask,d_kernel,iterations=eroision_iter)
dilate = cv2.dilate(mask,d_kernel,iterations=dilate_iter)
unknown1 = cv2.bitwise_xor(erode,mask)
unknown2 = cv2.bitwise_xor(dilate,mask)
unknowns = cv2.add(unknown1,unknown2)
unknowns[unknowns==255]=127
trimap = cv2.add(mask,unknowns)
# cv2.imwrite("mask.png",mask)
# cv2.imwrite("dilate.png",dilate)
# cv2.imwrite("tri.png",trimap)
labels = trimap.copy()
labels[trimap==127]=1 #unknown
labels[trimap==255]=2 #foreground
#cv2.imwrite(mask_path,labels)
return labels
Run Code Online (Sandbox Code Playgroud)