【Python进阶】实战Python图形文件操作基本编程

archlinux编辑修改img文件 实现原理相当,解锁软件根据手机硬件特征生成中间码,把中间码发给服务器,服务器进行某种加密传回来写入特定位置,bootloader会在这个位置检查解锁信息是否合法,合法就写入已解锁的标志,就可以刷入并加载第三方镜像了。-S file_contexts:表示sepolicy的file_contexts,5.0及以上安卓系统存在file_contexts文件,该文件是对selinux文件系统的说明,在手机root目录下能找到。在某处存放一个标志,标识有没有解锁,如果解锁了,就放开以上限制。刷入 boot 分区。 阅读详情

欢迎来到专栏《Python进阶》。在这个专栏中,我们会讲述Python的各种进阶操作,包括Python对文件、数据的处理,Python各种好用的库如NumPy、Scipy、Matplotlib、Pandas的使用等等。我们的初心就是带大家更好的掌握Python这门语言,让它能为我所用。

今天是《Python进阶》专栏的第二期,在本期中,我们将主要介绍如何利用Python对图像文件进行一些处理。

作者&编辑 | 汤兴旺

我们应该都明白数据处理对于CV来说至关重要,今天我们不说数据增强等高大上的操作,我们来聊聊当我们拿到图片数据时如何对图片数据进行整理,如更改图片文件格式和文件名等等。

1 遍历图片文件/文件夹

当提到文件/文件夹遍历时我们就不得不提python中的os.walk这个简单易用的文件、目录遍历器。它可以帮助我们高效的处理文件、目录方面的事情。话不多说,我们直接看代码和具体用法。

现在我们有如下的文件结构:

640?wx_fmt=png

640?wx_fmt=png

我们看看如何通过os.walk来遍历上面的这些图片按和目录。

import os

通过上面代码如果我们输出root即print(root),会得到下面的结果。

D:\file\kobe

D:\file\kobe\a

D:\file\kobe\b

D:\file\kobe\b\c

我们对照的看下输出结果和文件结构,应该明白了root实际上就是各个目录(文件夹)的路径,当然这里是包括顶级目录的,如我们这里的kobe文件夹。

我们再看看输出dirs后的结果。

['a', 'b']

[]

['c']

[]

['a','b']实际上是root中第一个路径(D:\file\kobe)中包含的文件夹,即kobe文件夹中的文件夹。第二行的输出[]和第四行的输出[]依次就是a文件夹和c文件夹中的包含的文件夹。由于a和c中都没有文件夹,所以输出都是[],第三行的['c']实际上是root中第三个路径(D:\file\kobe\b)中包含的文件夹c文件夹。综上分析我们知道dirs实际上就是root中的各个文件夹。

最后我们再看看files,顾名思义,这个files的输出就是各个文件了,如下:

['kobe1.jpg', 'kobe2.jpg', 'kobe3.jpg', 'kobe4.jpg']

['kobe5.jpg']

[]

[]

参照root的输出结果,上面的输出依次就是kobe文件夹中的文件、a文件夹中的文件、b文件夹中的文件和c文件夹的文件。

通过上面的介绍,我相信你已经明白了os.walk的具体用法和使用Python来遍历图片文件/文件夹了。

2 更改文件名字和格式

现在我们有个kobe文件夹,里面图片如下:

640?wx_fmt=png

现在我们需要将这五张图片统一更改名称和格式,更改后的格式如下KOBE_i.jpg,其中i为1-5。

import os

640?wx_fmt=png

现在我们分析下上面的代码。通过1.1的讲解我相信你应该知道root,dirs和files这三个变量里面的内容了。那么srcname即os.path.join(root,f)又是什么呢?我先输出下secname。结果如下:

D:\file\kobe\KOBE_1.png

D:\file\kobe\KOBE_2.png

D:\file\kobe\KOBE_3.png

D:\file\kobe\KOBE_4.png

D:\file\kobe\KOBE_5.png

很显然,srcname就是每个图片文件的名字。而root=D:\file\kobe,files=['KOBE_1.png', 'KOBE_2.png', 'KOBE_3.png', 'KOBE_4.png', 'KOBE_5.png']。相信你应该知道os.path.join()的作用了,它实际上就是将join()里面参数拼接成一个完整的路径。

3 将图片路径输出到文本文件中

话不多说,我们直接上代码,如下:

import osftxtfile = open(r"D:\file\a.txt",'w')  ftxtfile.write(os.path.join(rootDir, new_item )+ '\n')

我们通过上面的代码就可以将图片路径输出到.txt文件中。其实很简单,首先通过open()打开txt文件,然后通过write()将需要写入的内容写进去就行了。下面就是写入后的结果:

640?wx_fmt=png

4 批量复制图片文件

现在按照第三节中得到的txt文件中的内容将图片复制到另外一个文件夹中(D:\file\file\a),代码如下:

import shutil

 print(obj_name_list)

在这个代码中我们主要用到了shutil.copy()这个函数,它的具体用法如下:

shutil.copy(source, destination) ,其中source/destination 都是字符串形式的路径,source是原文件或者原文件夹的路径。destination是目标文件或者目标文件夹的路径 。

另外在这个代码中我们定义了一个函数objFileName(),它的作用是将.txt文件中的图像路径转化成一个list。你可以像上面代码的加粗部分那样进行验证。会得到如下结果。

['D:\\file\\kobe\\KOBE_1.png', 'D:\\file\\kobe\\KOBE_2.png', 'D:\\file\\kobe\\KOBE_3.png', 'D:\\file\\kobe\\KOBE_4.png', 'D:\\file\\kobe\\KOBE_5.png']

5 批量更改图片文件尺寸

我们知道通常训练网络结构模型的时候,图像的输入大小需要保持一个定值,如224X224等。下面这个代码就可以批量改变图片大小到指定尺寸。

from PIL import Image

更改图片大小前的样式如下:

640?wx_fmt=png

我们先看下代码运行后的结果,如下:

640?wx_fmt=png

上面的代码我们主要定义了一个将图片大小resize到指定大小的convertpng函数,这个函数总共有四个参数,分别是pngfile,outdir和图像需要更改的宽度和高度。其中pngfile就是需要更改大小的图片文件,outdir是图片更改大小后的保存路径。

总结

本期我们介绍了如何使用Python对文件进行处理,希望它对你在图像数据处理方面有些帮助。

下期预告:Python库NumPy的高级应用

有三AI编程微信公众号《三人行ToCode》

640?wx_fmt=png

有三AI编程方面的微信公众号《三人行ToCode》创建了,欢迎加入,希望大家能借助这个平台,扎实自己的编程基础。

转载文章请后台联系

侵权必究

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

往期精选

几种常用打开/修改系统镜像system.img工具 几种常用打开系统镜像system.img工具: 一、winHex 能打开、修改、保存、导出文件 软件小巧,不到1M。 (鼠标拖动镜像文件到工作区才会显示目录) 导出方法: 文件上右击 - 恢复/复制 - 选择保存的地方 二、Beyond Compare 文件比较工具 能用“Copy to folder…”将文件导出来,但不能修改 三、 四、各种ROM助手 可以精简APP: 编辑build.prop : 追加或删除app、修改权限等: 完善后点击“开始封装”即可。 ... 阅读详情

相关推荐

python处理cad_python3读取autocad图形文件.py实例

废话不多说,看代码吧!'''待完善。此代码实现了,根据标注文本的属性,数值,位置,及 容差,去判断 设计 和 实测两图中的同一位置的尺寸。如果是同一位置的尺寸,则进行比较,并把结果存成表格,到运行此代码的当前目录。此代码运行时,要读取的 dwg文件 必须处于打开状态。且 不能在 移动(pan) 模式。启动代码:python dwg_measurements_comparison4.py [8]其中...

weixin_39945445的博客 1906

python图像处理

首先安装PIL:Python Image Lib 注意!PIL的分支:pillow 安装时应输入:pip install pillow 一、 查看基本参数&灰度图 from PIL import Image import os import matplotlib.pyplot as plt im=Image.open('要查看的图片').convert("L") #conert后面的参数如果是L即灰度图,RGB即正常 print(im.format,im.size,im.mode) .

fennekin的博客 1066

ArcGIS实战:如何批量导出多个图形文件的经纬度坐标到txt(含Python脚本)

本文详细介绍了使用ArcGIS和Python脚本批量导出多个图形文件经纬度坐标到txt文件的自动化解决方案。针对手动操作效率低、易出错的痛点,文章从核心原理剖析到实战脚本编写,提供了从单文件处理到批量框架的完整流程,并分享了处理复杂几何、自定义格式等高级技巧,旨在帮助GIS从业者大幅提升数据处理效率。

9o8p7i6u5y的博客 1103

修改img文件方法

1.安装软碟通软件, 2.使用此软件打开镜像文件进行修改, 3.保存退出。

qq_36639978的博客 9273

使用C++模拟M维区域中的布朗运动并创建图形文件

在本文中,我们将使用C++语言模拟M维区域中的布朗运动,并通过创建图形文件来展示模拟结果。该函数使用Python画图库matplotlib生成坐标轴和所有移动位置的连线。首先,定义一个布朗运动类。该类中包含了当前位置、步长、步数、坐标轴等成员变量,在构造函数中进行初始化。我们成功地使用C++语言模拟了M维区域中的布朗运动,并通过创建图形文件来展示模拟结果。该函数利用正态分布产生下一个位置,并更新当前位置和步数。函数创建坐标轴并绘制出所有移动位置的连线。函数中,初始化布朗运动实例,并调用。

持续更新 183

WINIMAGE8.5中文版:IMG格式文件处理工具

IMG文件是计算机磁盘映像的一种格式,它包含了硬盘或其他存储介质的精确副本。这些文件通常用于备份、数据迁移和软件分发。IMG文件作为镜像文件,对于确保数据的完整性以及系统恢复起着关键作用。WINIMAGE8.5中文版作为一款功能强大的磁盘映像工具,对于IT专业人员来说,是日常工作中不可或缺的软件之一。它支持包括IMG在内的多种磁盘映像格式,并提供了直观易用的用户界面。当您首次打开WINIMAGE8.5中文版时,首先会注意到其清晰的界面布局。界面主要分为几个部分:菜单栏、工具栏、工作区以及状态栏。

weixin_35753431的博客 1671

如何让python显示图形文件无效_【Python进阶】实战Python图形文件操作基本编程

欢迎来到专栏《Python进阶》。在这个专栏中,我们会讲述Python的各种进阶操作,包括Python对文件、数据的处理,Python各种好用的库如NumPy、Scipy、Matplotlib、Pandas的使用等等。我们的初心就是带大家更好的掌握Python这门语言,让它能为我所用。今天是《Python进阶》专栏的第二期,在本期中,我们将主要介绍如何利用Python对图像文件进行一些处理。作者&...

weixin_39774905的博客 106

XGBoost的简单安装及入门使用

XGBoost安装及简单入门 XGBoost支持多种操作系统,如Windows, Linux, MacOS等,并支持多种语言版本,如Python, R, Scale, Java等。XGBoost的安装方式一般有两种,一种是直接通过pip安装(适合用于Python),另外一种是通过源码编译安装 1、通过pip安装 通过pip安装Python包既简单又方便,只需执行如下的命令: pip install -i https://pypi.tuna.tsinghua.edu.cn/simple xgboost 使用

qq_41513230的博客 3万+

img文件编辑_【Python进阶】实战Python图形文件操作基本编程

欢迎来到专栏《Python进阶》。在这个专栏中,我们会讲述Python的各种进阶操作,包括Python对文件、数据的处理,Python各种好用的库如NumPy、Scipy、Matplotlib、Pandas的使用等等。我们的初心就是带大家更好的掌握Python这门语言,让它能为我所用。今天是《Python进阶》专栏的第二期,在本期中,我们将主要介绍如何利用Python对图像文件进行一些处...

weixin_39899244的博客 763

AFSim 2.9实战指南:从入门到精通的中文教程

本文是AFSim 2.9的实战指南,提供从零开始的中文教程。内容涵盖仿真环境搭建、实体行为控制、脚本编写,到传感器、武器系统集成与复杂想定构建,最后讲解数据记录与结果分析方法,帮助用户快速掌握这一强大的军事仿真框架。

weixin_29281941的博客 949

华为2288H-V5服务器做raid的详细步骤

操作步骤 服务器启动界面 按del键进入设置输入密码,2288H-v5默认密码是Admin@9000 移动光标选择device manager 驱动管理选择configurationutility 配置管理 选择main menu 主菜单 选择第一个 configuration management 配置管理 选择create virtual driver 创建虚拟驱动选择select RAID level 选择RAID等级选择level-5 选择select drivers 选择驱......

weixin_46041124的博客 1万+

ad输出光绘文件_【Python进阶】实战Python图形文件操作基本编程

欢迎来到专栏《Python进阶》。在这个专栏中,我们会讲述Python的各种进阶操作,包括Python对文件、数据的处理,Python各种好用的库如NumPy、Scipy、Matplotlib、Pandas的使用等等。我们的初心就是带大家更好的掌握Python这门语言,让它能为我所用。今天是《Python进阶》专栏的第二期,在本期中,我们将主要介绍如何利用Python对图像文件进行一些处...

weixin_39885383的博客 216

创建动态代理对象bean,并动态注入到spring容器中

使用过Mybatis的同学,应该都知道,我们只需要编写mybatis对应的接口和mapper XML文件即可,并不需要手动编写mapper接口的实现。这里mybatis就用到了JDK动态代理,并且将生成的接口代理对象动态注入到Spring容器中。 这里涉及到几个问题。也许有同学会有疑问,我们直接编写好类,加入@Component等注解不是可以注入了吗?或者在配置类(@Configuration)...

lichuangcsdn的博客 3万+

【Python】进阶学习:基于Matplotlib--使用plt.savefig()实现图形文件的保存

📊【Python进阶】轻松掌握Matplotlib,plt.savefig()助你保存炫酷图表!🖼️ 还在为如何保存Python绘制的图表而烦恼吗?Matplotlib的plt.savefig()来帮你!🎉本文详细解析plt.savefig()参数,助你自定义图像样式,轻松保存炫酷图表。更有多图与子图保存技巧,以及常见问题解决方案分享。从入门到精通,一文搞定Matplotlib图表保存!快来开启你的数据可视化之旅吧!#Python进阶 #Matplotlib #plt.savefig() #图表保存

创作高质量博文,分享知识,共同进步! 2万+

数字IC时序约束实战:深入解析clock_uncertainty的设置策略与后端影响

本文深入探讨数字IC设计中clock_uncertainty的设置策略及其对后端实现的影响。通过分析时钟不确定度的组成(包括clock_skew、clock_jitter和margin),并结合实际项目经验,详细介绍了在不同设计阶段(综合、布局布线、签核)的动态调整方法。文章还提供了工程化处理参数来源、跨时钟域特殊处理以及优化时序收敛的实用技巧,帮助工程师提升数字IC设计的可靠性和性能。

weixin_29284657的博客 230

LWIP协议栈在STM32H7上的内存优化实战:如何用32KB RAM实现稳定千兆以太网通信

本文深入探讨了在STM32H7微控制器上,如何通过内存优化策略,在仅32KB的D2 SRAM中稳定运行LWIP协议栈以实现千兆以太网通信。文章详细分析了STM32H7的内存架构、LWIP的内存消耗瓶颈,并提供了从描述符表与PBUF池精确分配、链接脚本修改到MPU区域划分的一整套实战优化方案,旨在解决大数据量传输卡死等常见配置问题。

gg901的博客 605

实战Python图形文件操作基本编程 !

我们应该都明白数据处理对于CV来说至关重要,今天我们不说数据增强等高大上的操作,我们来聊聊当我们拿到图片数据时如何对图片数据进行整理,如更改图片文件格式和文件名等等。 1 遍历图片文件/文件夹 当提到文件/文件夹遍历时我们就不得不提python中的os.walk这个简单易用的文件、目录遍历器。它可以帮助我们高效的处理文件、目录方面的事情。话不多说,我们直接看代码和具体用法。 现在我们有如下的...

Pythoncxy的博客 309

以太网详解(一)-MAC/PHY/MII/RMII/GMII/RGMII基本介绍

网络设备中肯定离开不MAC和PHY,本篇文章将详细介绍下以太网中一些常见术语与接口。 MAC和PHY结构 从硬件角度来看以太网是由CPU,MAC,PHY三部分组成的,如下图示意: 上图中DMA集成在CPU,CPU,MAC,PHY并不是集成在同一个芯片内,由于PHY包含大量模拟器件,而MAC是典型的数字电路,考虑到芯片面积及模拟/数字混合架构的原因,**将MAC集成进CPU而将PHY留在片外,这种...

sternlycore的博客 13万+

实战Python图形文件操作基本编程!

我们应该都明白数据处理对于CV来说至关重要,今天我们不说数据增强等高大上的操作,我们来聊聊当我们拿到图片数据时如何对图片数据进行整理,如更改图片文件格式和文件名等等。 1 遍历图片文件/文件夹 当提到文件/文件夹遍历时我们就不得不提python中的os.walk这个简单易用的文件、目录遍历器。它可以帮助我们高效的处理文件、目录方面的事情。话不多说,我们直接看代码和具体用法。 现在我们有如下的...

Pythoncxy的博客 167

YOLOv11改进策略【小目标改进】| Shape-NWD:融合改进,结合Shape-IoU和NWD 更好地适应小目标特性

Bw−wgt2h−hgt2weight2Bweight2w−wgt​2h−hgt​2​其中weight2weight = 2weight2。

Limiiiing的博客 3056

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

python3读取autocad图形文件.py

''' 待完善。 此代码实现了,根据标注文本的 属性,数值,位置,及 容差, 去判断 设计 和 实测两图中的同一位置的尺寸。 如果是同一位置的尺寸,则进行比较, 并把结果存成表格,到运行此代码的当前目录。 此代码运行时,要读取的 dwg文件 必须处于打开状态。 且 不能在 移动(pan) 模式。 启动代码: python dwg_measurements_comparison4.py [8] ...

weixin_42193179的博客 1万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

python抓取文件夹内png_实战Python图形文件操作基本编程!

我们应该都明白数据处理对于CV来说至关重要,今天我们不说数据增强等高大上的操作,我们来聊聊当我们拿到图片数据时如何对图片数据进行整理,如更改图片文件格式和文件名等等。1 遍历图片文件/文件夹当提到文件/文件夹遍历时我们就不得不提python中的os.walk这个简单易用的文件、目录遍历器。它可以帮助我们高效的处理文件、目录方面的事情。话不多说,我们直接看代码和具体用法。现在我们有如下的文件结构:P...

weixin_39788960的博客 490

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Opencv for python 对于图形文件和图形的基本操作

opencv在机器学习中一般用在读入图片的过程。一 读入图片1.1导入基本的库#coding:utf-8 from numpy import * import cv21.2从窗口中导入一张图片win_name="mypicyure" #窗口名称 #cv2.WINDOW_NORMAL 窗口大小可自定义 cv2.namedWindow(win_name,

qq_16540387的博客 505

chatgpt赋能python:深入了解Python中物体的左右移动

在Python编程中,物体的左右移动是一种在屏幕或场景中移动图形图像的方法。在这种移动中,物体从左到右或从右到左移动,有时也可以进行斜向移动。例如,在一个平面上的对象可以根据用户的选择或程序逻辑向左或向右移动,从而实现游戏中移动角色、移动画布或移动背景的效果。本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。

yakuchrisfor的博客 701

Python中的文件读取与保存(1)

这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

2401_83642079的博客 921
上一篇: 【知识星球】有三AI编程与开源框架正式开通
下一篇: 【NLP】 NLP中应用最广泛的特征抽取模型-LSTM
言有三
言有三 领域专家: 人工智能技术领域 领域专家: 人工智能技术领域
博客等级 码龄15年 3635粉丝 976原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

言有三

三人行必有AI

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值