在Python中如何批量处理图片的放大操作,方法是什么

Admin 2022-06-23 群英技术资讯 818 次浏览

这篇文章主要讲解了“在Python中如何批量处理图片的放大操作,方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“在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")

python 图片比例缩放、批处理(分步骤完成)

问题:实现将像素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)                        # 保存,覆盖原图片

总结


以上就是关于“在Python中如何批量处理图片的放大操作,方法是什么”的相关知识,感谢各位的阅读,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注群英网络,小编每天都会为大家更新不同的知识。
群英智防CDN,智能加速解决方案

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

猜你喜欢

成为群英会员,开启智能安全云计算之旅

立即注册
专业资深工程师驻守
7X24小时快速响应
一站式无忧技术支持
免费备案服务
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
在线客服
微信公众号
返回顶部
返回顶部 返回顶部
在线客服
在线客服