首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何生成Trimap图像

如何生成Trimap图像
EN

Stack Overflow用户
提问于 2019-07-31 23:46:54
回答 1查看 1.3K关注 0票数 3

我找到了这个狗和猫的图像数据集:

牛津-IIIT宠物数据集。

你知道像素级前景-背景分割(trimap)图像是如何生成的吗?

我想把它用于我自己的数据集。

像素级前景-背景分割

具有三种颜色的图像(一种用于背景,一种用于前景,另一种用于未分类区域)

EN

回答 1

Stack Overflow用户

发布于 2021-02-05 23:04:53

注:输入图像为二进制格式

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57294609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档