Python遍历读取 A 文件夹中的 A1、A2、A3、A4、A5 中的各子文件夹中的图片,并对每张图片处理后保存到指定路径

目录

  • 一、具体步骤
  • 二、文件夹目录结构样例
  • 三、代码
  • 四、实例遍历处理后结果
  • 五、总结

一、具体步骤

首先,指定 A 文件夹的路径和重命名后的文件夹路径。
然后,遍历 A 文件夹中的各子文件夹。
在每个子文件夹中,遍历所有文件。
读取每个文件,获取图片路径、图片名称和图片数据。
使用子文件夹的名称重命名图片。
保存图片到指定路径。

二、文件夹目录结构样例

例如,如果 A 文件夹中包含如下内容:
A
├── A1
│ ├── image1.jpg
│ └── image2.jpg
├── A2
│ ├── image1.jpg
│ └── image2.jpg
├── A3
│ ├── image5.jpg
│ └── image6.jpg
├── A4
│ ├── image1.jpg
│ └── image2.jpg
└── A5
├── image9.jpg
└── image10.jpg

执行上述代码后,将会在 B 文件夹中生成如下内容:

B
│ rename1.jpg
│ rename2.jpg
│ rename3.jpg
│ rename4.jpg
│ rename5.jpg
│ rename6.jpg
│ rename7.jpg
│ rename8.jpg
│ rename9.jpg
│ rename10.jpg

三、代码

import cv2
import os# 指定A文件夹的路径
root_path = "Images/image"# 指定处理或重命名后的文件夹路径
target_path = "Images/image_all"k=0# 遍历A文件夹中的各个子文件夹
for dirpath,dirnames,filenames in os.walk(root_path):# 遍历每个子文件夹for filename in filenames:# 获取图片路径img_path = os.path.join(dirpath,filename)# 读取子文件夹中的每一张图片img = cv2.imread(img_path)# 获取图片名称img_name = os.path.basename(img_path)# 重命名图片new_img_name = "{}.bmp".format(("noise_"+str(k)))print(new_img_name)# 保存图片cv2.imwrite(os.path.join(target_path,new_img_name),img)k+=1

四、实例遍历处理后结果

在这里插入图片描述

遍历重命名后保存到指定路径的结果:

在这里插入图片描述

五、总结

以上就是使用Python遍历读取 A 文件夹中的 A1、A2、A3、A4、A5 中的各文件夹中的图片,并对每张图片处理后保存到指定路径。在我给的代码例子中是对每张图片进行重命名,其它的处理在读入图片后加代码即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/320887.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据库分区分表

分区分表 为什么要分库分表 软件时代,传统应用都有这样一个特点:访问量、数据量都比较小,单库单表都完全可以支撑整个业务。随着互联网的发展和用户规模的迅速扩大,对系统的要求也越来越高。因此传统的MySQL单库单表架构的性能问…

ElasticSearch 性能优化

提升写入性能 使用 bulk 接口批量写入 节省重复创建连接的网络开销通过进行基准测试来找到最佳的批处理数量 延长 refresh 的时间间隔 通过延长 refresh(刷新)的时间间隔可以降低段合并的频率,段合并十分耗费资源默认的刷新频率为1s&…

羊大师讲解,羊奶为什么更适合高血压人群?

羊大师讲解,羊奶为什么更适合高血压人群? 高血压是一种常见的健康问题,它会引起诸多并发症并增加心脑血管疾病的风险。与此同时,人们越来越关注饮食对健康的影响。作为一种营养丰富且适合高血压人群的饮品,羊奶备受关…

HTML 基础

文章目录 01-标签语法标签结构 03-HTML骨架04-标签的关系05-注释06-标题标签07-段落标签08-换行和水平线09-文本格式化标签10-图像标签图像属性 11-路径相对路径绝对路径 12-超链接标签13-音频14-视频 01-标签语法 HTML 超文本标记语言——HyperText Markup Language。 超文本…

windows server 2022 启用SYN攻击保护

2023.12.28 SYN攻击是什么: SYN攻击是黑客攻击的常用手段,也是最容易被利用的一种攻击手法,属于DDoS攻击的一种。它利用TCP协议缺陷,通过发送大量的半连接请求,耗费CPU和内存资源。 SYN攻击包括大量TCP连接的第一个包&…

MO 2023 年度回顾

PART-ONE 行业态势 随着供需关系的变化,数据库的竞争在经历了 3 年 “百花齐放” 般的发展后,终于在 2023 年进入到了一个相对收拢的阶段。 2023 年,各个数据库厂商间很有默契地在两个方面达成了一致: HTAP 已经成为新一代数据…

nginx下upstream模块详解

目录 一:介绍 二:特性介绍 一:介绍 Nginx的upstream模块用于定义后端服务器组,以及与这些服务器进行通信的方式。它是Nginx负载均衡功能的核心部分,允许将请求转发到多个后端服务器,并平衡负载。 在upst…

【每日论文阅读】单目深度估计 近期进展

红外场景单目深度估计的难点 缺乏准确的深度参考标准:红外场景下的深度估计通常需要依赖于大量的输入图像和对应的深度值作为训练的约束。然而,获取准确的深度参考标准是一个挑战,目前常用的方法是使用红外传感器(如Kinect&#…

antv/x6_2.0学习使用(二、画布)

画布 一. 创建容器 在页面中创建一个 div 标签&#xff0c;用来容纳画布 <div id"container"></div>画布常用配置信息 const graph new Graph({container: graphRef.value, // 画布容器width: 800, // 画布宽度&#xff0c;默认使用容器宽度height:…

看板表格样式,去掉element表格背景

<div class"ml-20"><el-input v-model.trim"queryParams.wipOrderNo" size"small" clearable style"width:150px" placeholder"请输入工单号" /><el-select class"ml-20" v-model"queryParam…

QT的坐标系统,回收机制、菜单栏,工具栏,状态栏,对话框及资源文件

QT的坐标系统&#xff0c;回收机制、菜单栏&#xff0c;工具栏&#xff0c;状态栏&#xff0c;对话框及资源文件 文章目录 QT的坐标系统&#xff0c;回收机制、菜单栏&#xff0c;工具栏&#xff0c;状态栏&#xff0c;对话框及资源文件1、QT的坐标系统&#xff1f;2、对象模型…

C#: 和时间相关,延时、获取系统时间、时间格式转换、定时器 等

说明&#xff1a;本文记录C# 和时间相关&#xff0c;延时、获取系统时间、时间格式转换、定时器 等&#xff0c;应用和代码。 1.延时函数 System.Threading.Thread.Sleep(20); //毫秒 1.1 主线程不卡延时函数 /* 主线程不卡延时函数 */public static void Delay_ms(int mil…