图像标注与处理

JSON文件转换为图片

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)
        label_png[label_png > 0] = 255
        cv2.imwrite(png_save_path, label_png)
        # shutil.copy(label_path, png_save_path)
        # break


if __name__ == '__main__':
    # !!!!你的json文件夹下只能有json文件不能有其他文件
    json2png(json_folder="testdata/jsons/", png_save_folder="testdata/labels/")

红色图像转换为黑白的二值图像

# -*- coding: utf-8 -*-
import os.path as osp
import shutil
import os
from tqdm import tqdm
import cv2


# 主要可以把原始的红色图像转换为黑白的二值图像、
def gt2png(folder_path="C:/Users/chenmingsong/Desktop/unetnnn/data/Training_GT", save_folder="C:/Users/chenmingsong/Desktop/unetnnn/data/Training_Labels"):
    # folder_path = osp.join(sys_path, "ISBI2016_ISIC_Part1_Training_GroundTruth")
    # save_folder = osp.join(sys_path, "labels")
    if osp.isdir(save_folder):
        # remove
        shutil.rmtree(save_folder)
        # new
        os.makedirs(save_folder)
    else:
        # print(save_folder)
        os.makedirs(save_folder)
    images = os.listdir(folder_path)
    # print(images)
    with tqdm(total=len(images)) as pbar:
        for image in images:
            image_name = image.split(".")[0]
            src_path = osp.join(folder_path, image)
            # img = cv2.imread(src_path, cv2.IMREAD_UNCHANGED)
            img = cv2.imread(src_path, 0)
            img[img > 0] = 255
            save_path = osp.join(save_folder, image_name + ".png")
            cv2.imwrite(save_path, img)
            pbar.update(1)
    print("label convert done")


if __name__ == '__main__':
    gt2png()

猜你喜欢

转载自blog.csdn.net/wuli_xin/article/details/126551347