处理wlk_right数据集

This commit is contained in:
weixin_46229132 2025-05-30 09:26:49 +08:00
parent 704c24d79d
commit 388f5ed277
3 changed files with 31 additions and 12 deletions

View File

@ -0,0 +1,23 @@
import os
import numpy as np
from PIL import Image
from osgeo import gdal
src_dir = r"E:\RSdata\wlk_right_448\mask_png_ori"
dst_dir = r"E:\RSdata\wlk_right_448\mask_png"
os.makedirs(dst_dir, exist_ok=True)
for file in os.listdir(src_dir):
if file.lower().endswith('.png'):
img = Image.open(os.path.join(src_dir, file))
mask = np.array(img)
# 替换像素值
mask = mask.copy()
mask[mask == 15] = 255
png_path = os.path.join(dst_dir, os.path.splitext(file)[0] + ".png")
Image.fromarray(mask.astype(np.uint8)).save(png_path)
print(f"已保存: {png_path}")
print("全部转换完成!")

View File

@ -4,19 +4,15 @@ import os
from osgeo import gdal
mask_dir = r"E:\datasets\wlk_right_448\mask" # 修改为你的mask文件夹路径
mask_dir = r"E:\RSdata\wlk_right_448\mask_png_ori" # 修改为你的mask文件夹路径
all_labels = set()
for file in os.listdir(mask_dir):
if file.lower().endswith('.tif'):
tif_path = os.path.join(mask_dir, file)
dataset = gdal.Open(tif_path)
if dataset is None:
print(f"无法打开: {tif_path}")
continue
band = dataset.ReadAsArray()
unique = np.unique(band)
if file.lower().endswith('.png'):
img = Image.open(os.path.join(mask_dir, file))
img = np.array(img)
unique = np.unique(img)
all_labels.update(unique)
print("所有mask中出现过的标签数字", sorted(all_labels))

View File

@ -1,6 +1,6 @@
input_path = r"E:\datasets\WLKdata_1111\WLK_voc\ImageSets\Segmentation\val.txt"
output_path = r"E:\datasets\WLKdata_1111\WLK_voc\ImageSets\Segmentation\val_no.txt"
input_path = r"E:\RSdata\wlk_right_448\val.txt"
output_path = r"E:\RSdata\wlk_right_448\val_no.txt"
with open(input_path, "r", encoding="utf-8") as fin, open(output_path, "w", encoding="utf-8") as fout:
for line in fin:
fout.write(line.strip().replace(".tif", "") + "\n")
fout.write(line.strip().replace(".jpg", "") + "\n")