VOC数据集颜色表colormap与代码

VOC颜色和分类的对于关系:

VOC数据集颜色表colormap与代码_第1张图片

 VOC数据集颜色表colormap与代码_第2张图片

code如下,这里提供两个版本,一个是list(tuple)版本,支持直接在opencv的color参数使用;另一个是ndarray版返回:

# list 版
def voc_colormap(N=256):
    def bitget(val, idx):
        return ((val & (1 << idx)) != 0)

    # cmap = np.zeros((N, 3), dtype=np.uint8)
    cmap = []
    for i in range(N):
        r = g = b = 0
        c = i
        for j in range(8):
            r |= (bitget(c, 0) << 7 - j)
            g |= (bitget(c, 1) << 7 - j)
            b |= (bitget(c, 2) << 7 - j)
            c >>= 3
        print([r, g, b])
        # cmap[i, :] = [r, g, b]
        color = tuple([int(x) for x in [r, g, b]])
        cmap.append(color)
    return cmap

# nd.array 版
def voc_colormap(N=256):
    def bitget(val, idx): return ((val & (1 << idx)) != 0)
 
    cmap = np.zeros((N, 3), dtype=np.uint8)
    for i in range(N):
        r = g = b = 0
        c = i
        for j in range(8):
            r |= (bitget(c, 0) << 7 - j)
            g |= (bitget(c, 1) << 7 - j)
            b |= (bitget(c, 2) << 7 - j)
            c >>= 3
        print([r, g, b])
        cmap[i, :] = [r, g, b]
    return cmap
 
VOC_COLORMAP = voc_colormap()

————————————————
原文链接:https://blog.csdn.net/qq_30638831/article/details/83148308

你可能感兴趣的:(Python,AI/ML/DL,python,算法)