在Python中如何批量处理图片的放大操作,方法是什么
Admin 2022-06-23 群英技术资讯 1655 次浏览
这篇文章主要讲解了“在Python中如何批量处理图片的放大操作,方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“在Python中如何批量处理图片的放大操作,方法是什么”吧!有时候对于网络识别,将原始图片放进网络中并不能达到自己想要的效果,但是有时候如果将图片放大之后,识别率却能够达到意想不到的结果,现在提供一种将文件中的图片进行批处理放大的代码:
import os
from PIL import Image
import sys
#获取path目录下的所有文件
def get_imlist(path):
return[os.path.join(path,f)
for f in os.listdir(path)]
def change_size(path):
directorys=get_imlist(path)
for directory in directorys:
#不是图片文件就跳过
print(directory)
if not(directory.endswith('.jpg') or directory.endswith('.png') or directory.endswith('.bmp')): ##b
pass
else:
img=Image.open(directory)
s="/"
#获取文件名(含后缀)
oimage_name=directory[directory.rfind(s)+1:]
(oimage_width,oimage_height)=img.size
new_width=oimage_width * 3
new_height=oimage_height * 3
out=img.resize((new_width,new_height),Image.ANTIALIAS)
out.save("%s" %oimage_name) #直接替换
if __name__ == '__main__':
change_size("F:\桌面\\test")
问题:实现将像素n*n的图片 等比例缩放为 30*30
0、环境要求:Python3.x 需要安装pillow模块:
pip install pillow
1、缩放一个图片:
from PIL import Image
img = Image.open("2.png") # 读取图片
out = img.resize((30,30)) # 等比例缩放为30*30像素
out.save("2.png") # 保存图片(覆盖原图)
2、批处理:
/* 目录结构
E:\data_eg\lip_train:
----------folder1:
--------pic1.png
--------pic2.png
--------pic3.png
----------folder2:
--------pic1.png
--------pic2.png
--------pic3.png
--------pic4.png
--------pic5.png
----------folder3:
--------pic1.png
--------pic2.png
*/
import os
from PIL import Image
path_target = "E:\data_eg\lip_train" # liptrain路径下是文件夹,文件夹下是多张图片
path_list=os.walk(path_target) # 使用os.walk()方法,遍历所有路径,文件
# filenames 保存所有图片名的 list
# root 保存二级目录
for root, dirs, filenames in path_list:
for filename in filenames: # 遍历包含 所有文件名 的list
file_path = os.path.join(root,filename) # 合成得到每个图片的 绝对路径
print(file_path) # 打印 绝对路径 至屏幕
img = Image.open(file_path) # 打开 此绝对路径 的图片
out = img.resize((30,30)) # 等比例缩放至 30*30 像素
#out = img.convert('L') # 转换为灰度图像
out.save(file_path) # 保存,覆盖原图片
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
问题在写代码是遇到了一个奇怪的问题,local variable & 39;siteName& 39; referenced before assignment, 特此记录一下,这里其实
这篇文章主要为大家详细介绍了python实现简单贪吃蛇小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
在使用python中,你会遇到一个词,就是堆排序。那堆排序是什么呢?堆排序看字面意思是一种排序方法,那堆是什么呢?堆是一个近似完全二叉树的结构,并同时满足堆积的性质。其实堆排序是指利用堆这种数据结构所设计的一种排序算法。认识了堆排序,那你知道堆排序在python中如何实现吗?
这篇文章给大家分享的是有关python的lambda表达式的内容,lambda表达式是Python学习中需要掌握的知识,为帮助大家熟悉lambda表达式的作用和使用,下面给大家分享关于lambda表达式的实例,具有一定的参考价值,感兴趣的朋友可以了解一下。
这篇文章主要介绍了Python3中对range()逆序的解释,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008