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

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

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

1 遍历图片文件/文件夹

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

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

 

 

 

 

 

 

 

Python资源共享群:484031800

 

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

import os

rootDir = r"D:\file\kobe"

for root, dirs, files in os.walk(rootDir):

通过上面代码如果我们输出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文件夹,里面图片如下:

 

 

 

 

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

import os

rootDir = r"D:\file\kobe"

i = 1

for root, dirs, files in os.walk(rootDir):

for f in files:

srcname = os.path.join(root, f)

srcformat = srcname.split('.')[-1]

if srcformat is not "png":

new_item = "KOBE"+str(i)+ '.png'

os.rename(srcname, os.path.join(rootDir, new_item))

i+=1

 

 

 

 

现在我们分析下上面的代码。通过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 os

rootDir = r"D:\file\kobe"

i = 1

ftxtfile = open(r"D:\file\a.txt",'w')

for root, dirs, files in os.walk(rootDir):

print(root)

print(files)

for f in files:

srcname = os.path.join(root, f)

srcformat = srcname.split('.')[-1]

if srcformat is not "png":

new_item = "KOBE_"+str(i) + '.png'

newname = os.rename(srcname, os.path.join(rootDir, new_item))

 ftxtfile.write(os.path.join(rootDir, new_item )+ '\n')

i+=1

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

 

 

 

 

4 批量复制图片文件

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

import shutil

def objFileName():

local_file_name_list = r'D:\file\a.txt'

# 指定名单

obj_name_list = []

for i in open(local_file_name_list, 'r'):

obj_name_list.append(i.replace('\n', ''))

 print(obj_name_list)

return obj_name_list

def copy_img():

local_img_name = r"D:\file\kobe"

path = r"D:\file\file\a"

# 指定存放图片的目录

for i in objFileName():

print(i)

shutil.copy(i, path )

if __name__ == '__main__':

copy_img()

在这个代码中我们主要用到了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

import os.path

import glob

def convertpng(pngfile, outdir, width=48, height=48):

img = Image.open(pngfile)

try:

basename = os.path.basename(pngfile)

filename = os.path.splitext(basename)[0]

filetype = os.path.splitext(basename)[1] # 文件扩展名

new_img = img.resize((width, height), Image.BILINEAR)

new_img.save(os.path.join(outdir, filename+"_"+str(width)+"x"+str(height)+filetype))

except Exception as e:

print(e)

for pngfile in glob.glob(r"D:\file\kobe"+"/*.png"):

convertpng(pngfile , r"D:\file\file\b",224,224)

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

 

 

 

 

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

 

 

 

 

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

总结

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

几种常用打开/修改系统镜像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

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

欢迎来到专栏《Python进阶》。在这个专栏中,我们会讲述Python的各种进阶操作,包括Python对文件、数据的处理,Python各种好用的库如NumPy、Scipy...

hacker_long的专栏 589

python读取cad元素_python3读取autocad图形文件.py实例

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

weixin_28684825的博客 4412

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

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

持续更新 183

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

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

Pythoncxy的博客 309

使用Python绘制无向/有向图形的基本属性、图形读写及绘制详解

本文介绍了如何使用NetworkX创建无向/有向图形,并提供了相关的源代码示例。此外,还介绍了如何读取和写入图形文件。使用NetworkX,可以轻松地创建、操作和研究复杂的网络结构,并提供丰富的数据分析和可视化功能。

学习使你进步。 690

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

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

weixin_39788960的博客 490

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

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

weixin_35753431的博客 1671

SpringBoot+Flowable 6.8.0实战:5分钟搞定免登录流程图设计器

本文详细介绍了如何通过SpringBoot与Flowable 6.8.0深度整合,快速实现免登录流程图设计器的集成方案。通过排除默认安全配置、自定义安全策略和用户模拟服务,开发者可在5分钟内完成设计器的部署,适用于快速原型开发和企业内部工具搭建。

weixin_29204205的博客 280

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

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

weixin_39774905的博客 106

实战!在 AMD RX 9070 XT (16G) 上使用原生 Windows ROCm 7.1 部署 ComfyUI + Z-Image-Turbo

本文详细介绍了如何在Windows系统下为AMD Radeon RX 9070 XT显卡配置Z-Image-Turbo AI绘图环境。主要内容包括:安装VS Build Tools和最新显卡驱动,配置Conda Python 3.12环境,安装ROCm 7.1.1 SDK及PyTorch适配版本,部署ComfyUI可视化界面。重点解决了AMD显卡在AI绘图中的适配问题,通过--use-split-cross-attention参数优化显存使用,最终成功搭建了可在消费级16G显存设备上运行的AI绘图环境

qq_33614778的博客 4703

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

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

weixin_39899244的博客 763

MOSS-TTS开源语音合成家族:从架构解析到生产部署实战

语音合成(TTS)技术旨在让计算机将文本转换为自然流畅的语音,其核心原理通常涉及文本分析、声学模型和声码器等模块。近年来,基于深度学习的端到端TTS模型,特别是结合残差向量量化(RVQ)和Transformer架构的方案,显著提升了合成语音的自然度和效率。这类技术的价值在于能够广泛应用于有声内容创作、智能助手、无障碍服务以及实时交互等场景。本文聚焦于开源的MOSS-TTS家族,它通过模块化设计,针对高保真合成、多角色对话、实时交互等不同需求提供了专用模型。文章深入解析了其底层的Delay与Local两种架构

weixin_28745565的博客 422

2021英伟达暑期实习面经(芯片设计)

2021英伟达暑期实习面经(芯片设计前端/DFT) 准备了将近一个月,终于赶在三月的最后一天拿到了offer,暑期实习算是上岸了,后面还有阿里/华为等一些国内公司的面试,但既然拿到了nv的offer,后面的先就当积累面试经验吧~ 网上关于nv的实习or秋招面经很少,硬件岗的更少(约等于没有好吧)。之前准备面试的时候,在网上找了半天,好像就只在牛客网上见过一篇关于nv硬件岗的面经,幸好当时认真看了哈哈。所以既然幸运上岸了,想趁自己还记得,record一下,希望可以帮到有缘人呀~ 好了,废话不多说,开始正题。

Hadleysjtu的博客 1万+

python3读取autocad图形文件.py

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

weixin_42193179的博客 1万+

FPGA设计中的扇出约束实战:从XDC到代码优化的全流程解析

本文全面解析FPGA设计中扇出约束的重要性与应用,详细介绍了从XDC约束文件设置到HDL代码优化的全流程实战技巧。通过MAX_FANOUT约束控制信号负载,结合寄存器复制和物理优化策略,有效解决高扇出导致的时序违例和布线拥塞问题,提升设计性能和可靠性。

nept的博客 798

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

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

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

使用Python,OpenCV查找图像中的最亮点

这篇博客展示了,为什么在图像中找到最亮的点之前应用高斯模糊是至关重要的。 通过应用高斯模糊,可以将每个给定半径内的像素平均在一起。取平均值可以去除高频噪声,否则会影响cv2.minMaxLoc函数的结果。 一定要研究高斯模糊半径的恰当值。如果取值太小,将会减轻平均值的影响,而忽略了更大、更亮的区域。但是如果半径太大,将无法探测到小的明亮区域。

qq_40985985的博客 3811

【视频监控国标GB/T28181】无人机的视频图传技术

然而,随着无人机市场的不断发展和无人机视频图传技术的迅速进步,一些厂家正积极探索更多的传输方式。如今,一些大疆无人机已经具备了4G辅助图传功能,这意味着它们需要在无人机上安装相应的SIM卡,并在有移动互联网信号的情况下,通过互联网进行视频图传。这种技术的应用,不仅提高了无人机的操作灵活性,也使得无人机在各个领域的应用更加广泛。在使用时,用户需时刻注意无人机的飞行距离。在无人机图传系统中,OFDM技术的运用更是如虎添翼,显著增强了视频传输的品质与稳定性,尤其在错综复杂的电磁环境中,更能凸显其不可替代的优势。

开源物联网项目商业化作者 5664

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

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

weixin_39885383的博客 216

cesium vue2/vue3教程目录导航

以下是本专栏目录导航,送完整项目源码(拒绝单页源码),可以直接运行,全部配置免费视频教程(B站)。

qq_29384639的博客 4318

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

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

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

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

yakuchrisfor的博客 701

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

上一篇: 10 个简单小窍门带你提高Python数据分析速度!
下一篇: Python3+pyQt5+QtDesignner实现窗口化猜数字游戏!
普通网友
博客等级 码龄7年 438粉丝 263原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值