python+PIL转换VOC分割数据格式制作索引彩色图

参考:  https://blog.csdn.net/tellsummer/article/details/80815826

# coding:utf-8

from random import randint
from PIL import Image
import os

def randomPalette(length, min, max):
    return [randint(min, max) for x in range(length)]

# paletteID = randomPalette(768, 0, 255)    #用于多分类
label_pixel_value = 255    # 标注物体的像素值(转换成灰度图像后)

path = '0967.png'
img = Image.open(path).convert('L')

img.show()

for x in range(img.size[0]):
    for y in range(img.size[1]):
        if img.getpixel((x, y)) ==label_pixel_value: # 给标注部分分配一个像素值,多分类分配多个像素值
            img.putpixel((x, y), 1)
        else:
            img.putpixel((x, y), 0)    #背景部分

img.putpalette([0, 0, 0, 0, 255, 0])  # 一分类, 【0,0,0】是背景,【0,255,0】是标注物
# img.putpalette(paletteID)  # 多分类   # 需要图像上有多类像素值

img.show()
img.save('index_pic.png')

 

原图:

python+PIL转换VOC分割数据格式制作索引彩色图_第1张图片

 

标注图:

python+PIL转换VOC分割数据格式制作索引彩色图_第2张图片

 

索引图:

python+PIL转换VOC分割数据格式制作索引彩色图_第3张图片

Please adjust the code according to your project !

你可能感兴趣的:(深度学习,OpenCV-Python)