主要针对多类别数据进行转化,需要保证每个图片上的类别一致,如果每个图片的类别不一致会出现标签混乱的情况。
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
'''
@Project :unet
@File :labelme2seg.py
@Author :ChenmingSong
@Date :2022/2/13 16:24
@Description:
'''
from __future__ import print_function
import argparse
import glob
import math
import json
import os
import os.path as osp
import shutil
import numpy as np
import PIL.Image
import PIL.ImageDraw
import cv2
#
def json2png(json_folder, png_save_folder):
if osp.isdir(png_save_folder):
shutil.rmtree(png_save_folder)
os.makedirs(png_save_folder)
json_files = os.listdir(json_folder)
for json_file in json_files:
json_path = osp.join(json_folder, json_file)
os.system("labelme_json_to_dataset {}".format(json_path))
label_path = osp.join(json_folder, json_file.split(".")[0] + "_json/label.png")
png_save_path = osp.join(png_save_folder, json_file.split(".")[0] + ".png")
# label_png = cv2.imread(label_path, 0