【python】按行合并cityscapes的 images 和 labels

该脚本使用Python的os和sys库,读取两个位于Desktop rain_val目录下的valImages.txt和valLabels.txt文件,按行合并内容并在每行之间添加逗号分隔符,然后将结果保存到新的val.txt文件中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import os
import sys

# TODO 用于cityscapes train 和 val 的 images 和 labels 文件名合并
# 按行合并 两个txt文件
# 打开所需要合并的两个txt文件
file1path = r'D:\Desktop\train_val\valImages.txt'
file2path = r'D:\Desktop\train_val\valLabels.txt'
# 新的txt保存路径
save_path = r'D:/Desktop/train_val'
# 新的txt文件名
save_file_name = r'val.txt'

file_1 = open(file1path, 'r', encoding='utf-8')
file_2 = open(file2path, 'r', encoding='utf-8')

list1 = []
for line in file_1.readlines():
    ss = line.strip()
    list1.append(ss)
file_1.close()

list2 = []
for line in file_2.readlines():
    ss = line.strip()
    list2.append(ss)
file_2.close()

# 创建新的txt文件,用来保存
file_new = open(save_path+'/'+save_file_name, 'w', encoding='utf-8')
for i in range(len(list1)):
    # 将两个txt文件合并到一行 中间用分隔符隔开
    sline = list1[i] + ',' + list2[i]
    # 写入新的txt文件 换行
    file_new.write(sline + '\n')
file_new.close()

### Cityscapes 数据集处理与可视化脚本 对于 Cityscapes 数据集的数据处理可视化,通常会涉及到图像预处理、标签解析以及结果展示等功能。下面提供了一个 Python 脚本示例来加载并显示来自该数据集中的一张图片及其对应的语义分割标注图。 #### 加载显示单幅图像与其标签 ```python import os from PIL import Image import matplotlib.pyplot as plt def load_image_and_label(image_path, label_path): """Load an image and its corresponding label from given paths.""" img = Image.open(image_path).convert('RGB') lbl = Image.open(label_path) return img, lbl if __name__ == "__main__": base_dir = 'path/to/cityscapes' # 替换为实际路径[^1] # 图像文件夹位置 images_folder = os.path.join(base_dir, "leftImg8bit/train/frankfurt") # 标签文件夹位置 labels_folder = os.path.join(base_dir, "gtFine/train/frankfurt") # 获取第一个样本的名字(假设存在) sample_name = next((file[:-len("_leftImg8bit.png")] for file in os.listdir(images_folder) if "_leftImg8bit.png" in file), None) if not sample_name: raise FileNotFoundError("No valid samples found.") # 构建完整的文件名 image_file = f"{sample_name}_leftImg8bit.png" label_file = f"{sample_name}_gtFine_color.png" full_img_path = os.path.join(images_folder, image_file) full_lbl_path = os.path.join(labels_folder, label_file) try: image, label = load_image_and_label(full_img_path, full_lbl_path) fig, ax = plt.subplots(1, 2, figsize=(10, 5)) ax[0].imshow(image) ax[0].set_title('Original Image') ax[1].imshow(label) ax[1].set_title('Semantic Segmentation Label') plt.show() except Exception as e: print(f"Error occurred while loading or displaying the image/label pair: {str(e)}") ``` 此代码片段展示了如何读取一张原始的城市景观照片以及它对应的颜色编码的类别标签,并通过 `matplotlib` 库在同一窗口内对比呈现两者的效果。这有助于理解模型预测的结果是否合理,同时也方便开发者调试算法性能。 为了更深入地利用 Cityscapes 数据集进研究工作,还可以编写更多复杂的工具函数来进批量转换、增强操作或是评估指标计算等任务。这些功能可以根据具体的应用场景个人需求定制开发
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值