Python根据txt文件把图像从数据集中读取出来

在做图像分割的时候,需要根据分好的训练集,验证集,测试集,把图像也分离开。
根据这几个txt文件从图像集中找到对应图像
代码如下:

import os
import shutil

# 读入分类的标签txt文件
label_file = open("D:\weldline\code\dataset\VOCdevkit_219_new\VOC2012\ImageSets\Segmentation\\test.txt", 'r')
# 原始文件的根目录
input_path = "D:\weldline\code\dataset\VOCdevkit_219_new\VOC2012\SegmentationClass"
# 保存文件的根目录
output_path = "D:\weldline\code\dataset\VOCdevkit_219_new\VOC2012\\res"

# 一行行读入标签文件
data = label_file.readlines()
# 计数用
i = 1
# 遍历数据
for line in data:
    # 通过空格拆分成数组
    str1 = line.split(" ")
    # 第一个是文件名
    file_name = str1[0].strip()
    # 原始文件的路径
    old_file_path = os.path.join(input_path, file_name + ".png")
    # 新文件路径
    new_file_path = output_path

    # 如果路径不存在,则创建
    if not os.path.exists(new_file_path):
        print("路径 " + new_file_path + " 不存在,正在创建......")
        os.makedirs(new_file_path)

    # 新文件位置
    new_file_path = os.path.join(new_file_path, file_name + ".png")
    print("" + str(i) + "\t正在将 " + old_file_path + " 复制到 " + new_file_path)
    # 复制文件
    shutil.copyfile(old_file_path, new_file_path)

    i = i + 1
# 完成提示
print("完成")

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于Unet网络实现对天文图像的降噪处理python源码+项目说明.zip 【资源说明】 该项目是个人毕设项目源码,评审分达到95分,调试运行正常,确保可以运行!放心下载使用。 该项目资源主要针对计算机、自动化等相关专业的学生或从业者下载使用,也可作为期末课程设计、课程大作业、毕业设计等。 具有较高的学习借鉴价值!基础能力强的可以在此基础上修改调整,以实现类似其他功能。 项目主要完成的任务是对天文图像的降噪处理 采用的方法是先在图片上产生噪声,将噪声图片视为训练集,原图像视为标签,通过Unet网络进行训练 训练平台是google colab ### 产生数据 数据集在npy文件夹下。产生原始数据的函数为generate_data.py 通过generate_data.py在npy数据集寻找所有黑色率小于0.35的204张图片。图片的列表在figurelist.txt 同时产生一个(204,400,400)的npy文件origin.npy ### 训练 先在本地文件Unet.py写好训练的代码。 并通过tensorboard产生logs文件,在tensorboard提供的本地网页得到可视化的网络结构。 之后再google colab上传origin.npy数据集,并在google colab用本笔记的代码进行训练。 得到traing_Time43.h5网络模板文件 ### 预测 再次使用generate_data.py文件避开之前采用的npy图片产生evallist.txt文件得到一些可用于预测的文件。 通过predict.py 读取evallist.txt得到数据,用和训练类似的方法产生噪声文件,并将预测的结果和噪声图片放入result文件 通过result文件进行数据可视化 以及训练数据GolbalLoss.txt文件 ### 数据可视化 先画出了训练的Loss函数 可以任意读取resultpredict的数据 通过Show函数得到图像在1-50部分的像素分布 通过pltshow展示图片,接下来直观地展示产生的噪声和去噪之后的结果。 ### 先进性分析 Unet本身多用于处理图像的分割和语义分析,本项目则尝试了使用Unet进行天文图像的去噪。 不同于一般的Unet,在Unet的网络结构加入了含有曝光时间的张量,增加了项目的鲁棒性。 最后一层也没有采用传统的‘sigmod’函数而是直接传递全连接的结果,把原图作为训练数据的标签集。 采用tensorflow2.0的layers层, 可以较为完整地看到网络的内在搭建逻辑。并使用了tensorboard对网络结构进行了可视化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值