读取指定路径下的图片并将该文件下的所有图片名写入txt文件当中 您所在的位置:网站首页 linux压缩文件到指定文件夹 读取指定路径下的图片并将该文件下的所有图片名写入txt文件当中

读取指定路径下的图片并将该文件下的所有图片名写入txt文件当中

2023-05-25 23:45| 来源: 网络整理| 查看: 265

该文只是记录下学习读取大样本图片,随机选取其中的样本图片复制到指定路径下。可以跳过第二步。

目录

读取路径下的所有图片并将文件名保存到txt文件当中 在上述txt文件下随机选取一定图片保存到另一txt当中 将随机选取的图片复制到另一指定文件下

读取路径下的所有图片并将文件名保存到txt文件当中:

import os import argparse import numpy as np parser = argparse.ArgumentParser() parser.add_argument('--path', type=str,default="path1", help='path to the dataset') parser.add_argument('--output', type=str,default="path2/b.flist", help='path to the file list') args = parser.parse_args() ext = {'.JPG', '.JPEG', '.PNG', '.TIF', 'TIFF'} images = [] for root, dirs, files in os.walk(args.path): print('loading ' + root) for file in files: if os.path.splitext(file)[1].upper() in ext: images.append(os.path.join(root, file)) images = sorted(images) np.savetxt(args.output, images, fmt='%s')

在上述txt文件下随机选取一定图片保存到另一txt当中

import random import os import numpy as np import glob #加载txt文件 def load_flist(flist): if isinstance(flist, list): return flist # flist: image file path, image directory path, text file flist path if isinstance(flist, str): if os.path.isdir(flist): flist = list(glob.glob(flist + '/*.jpg')) + list(glob.glob(flist + '/*.png')) flist.sort() return flist if os.path.isfile(flist): try: return np.genfromtxt(flist, dtype=np.str, encoding='utf-8') except: return [flist] os.path.isfile('path3/a.flist')) #返回列表 return [] #写入文件名 def log(file,path): with open(path, 'a') as f: f.write('%s\n' % file) k=[] for i in range(20): yangben = random.randint(0, 100) k.append(yangben) #上一步保存的txt文件 path='path2/b.flist' for j in range(20): yang=load_flist(path) indx=k[j] log(yang[indx],'path4\yangben.flist') #path4\yangben.flist为随机选取后的txt文件

将随机选取的图片复制到另一指定文件下

import shutil # 源文件夹和目标文件夹路径 #path6要复制的源文件目录 folder_A = "path6" #path7目标目录 folder_B = "path7" # 读取包含文件名的txt文件 txt_file = "path4\yangben.flist" with open(txt_file, "r") as file: for line in file: # 获取文件名并去除换行符 filename = line.strip('\n') # 复制文件 shutil.copy(filename, folder_B) print("文件复制完成")



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有