在Python中如何批量处理图片的放大操作,方法是什么
Admin 2022-06-23 群英技术资讯 1419 次浏览
有时候对于网络识别,将原始图片放进网络中并不能达到自己想要的效果,但是有时候如果将图片放大之后,识别率却能够达到意想不到的结果,现在提供一种将文件中的图片进行批处理放大的代码:
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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家介绍了Python内建类型int源码学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
本文主要介绍了Flask-Sqlalchemy的基本使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
使用pyautogui库获取屏幕对应坐标。因为使用XPath无法点击到页面的播放按钮,所以使用pyautogui库进行对应位置的点击。屏幕尺寸为1920×1080,在不化Chrom浏览器的情况下,获取到播放按钮的坐标为(676, 860)运行此程序,可以每秒输出鼠标对应的位置
这篇文章主要介绍了python常见模块与用法,文中有非常详细的代码示例,对正在学习python的小伙伴们有一定的帮助,需要的朋友可以参考下
pytest提供了许多运行命令以供定制化运行某一类测试用例或者某个测试用例等,下面这篇文章主要给大家介绍了关于pytest用例间参数传递的两种实现方式,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008