存储的内容包括:
img_info = dict(
file_name=osp.basename(img_file),
height=segm_img.shape[0],
width=segm_img.shape[1],
anno_info=anno_info,
segm_file=osp.basename(segm_file))
import argparse
import glob
import os
import os.path as osp
import cityscapesscripts.helpers.labels as CSLabels
import cv2
import mmcv
import numpy as np
import pycocotools.mask as maskUtils
import torch
from mmengine.fileio import dump
from mmengine.utils import (Timer, mkdir_or_exist, track_parallel_progress,
track_progress)
#
#
# # bj20.8内网数据结构
"""
--BJ2
-----images
------------______img.tif
-----masks
------------______mask.png
"""
# def collect_files(img_dir, gt_dir):
# files = []
# # 根据自己的数据集路径修改(根据内容的要素识别修改格式)
# img_files = glob.glob(osp.join(img_dir, 'image/*.tif')) # 读取图像文件
# for img_file in img_files:
# # 如果图片和标签的文件后缀不一样,要重新定义标签的读取方式
# label_filename = os.path.basename(img_file).replace("_img.tif","_mask.png")
# segm_file = gt_dir + '/mask/' + os.path.basename(label_filename)
# files.append((img_file, segm_file))
# assert len(files), f'No images found in {img_dir}'
# print(f'Loaded {len(files)} images from {img_dir}')
#
# return files
# 将WHU转为coco格式
"""
-WHU
---train
-----image
-------_.tif
-----label
-------_.tif
---val
-----image
-------_.tif
-----label
-------_.tif
---test
-----image
-------_.tif
-----label
-------_.tif
"""
def collect_files(img_dir, gt_dir):
files = []
img_files = glob.glob(osp.join(img_dir, 'image/*.tif')) #读取图像文件
for img_file in img_files:
segm_file = gt_dir + '/label/' + os.path.basename(img_file) #读取标签文件路径
files.append((img