Python批量处理图片大小尺寸方法详解

目录
  • 前言
  • 简单讲解
    • 1、建目录
    • 2、图片大小修改
  • 批量修改图片Size
    • 1、目录处理
    • 2、图片批量修改Size完整代码

前言

出发点,网上下了一批png,使用wxFormBuilder做软件工具栏的图标,原图做出来的效果

这么大的一个图标让笔者差点就笑岔气了

以前都是用工具改变图片的大小,这次想了下,开发的事情肯定用脚本搞定

所以决定写一个脚本让图片变成32x32,原图是124x128的,

简单讲解

本文使用Pillow(PIL),

安装:

pip install pillow

这个库有很多图片处理功能,修改图片大小仅是其中一种。不多说上操作

1、建目录

新增一个changePicSizeDemo的目录,

将需要改变的一个源文件放进目录下

新增一个Demo.py编写脚本

2、图片大小修改

#导入Image库
from PIL import Image
#打开当前目录下 !.png 图片文件对象
old_pic = Image.open('!.png')
#修改图片size为32*32,生成新图片对象
new_pic = old_pic.resize((32, 32), Image.ANTIALIAS)
#保存新图片文件,保存到当前目录
new_pic.save('!01.png')

运行后,得到32*32的小图标,看下图,相比前面的图片可以清楚看见像素格子了。

批量修改图片Size

1、目录处理

在changePicSizeDemo目录下新增两个目录

SourcePics目录存入须改变Size的图片文件

CsavePics目录用来存放改完Size后的图片文件

2、图片批量修改Size完整代码

from PIL import Image
import os
# 获取当前py文件的根目录
basePath = os.path.dirname(os.path.abspath(__file__))
# 获取图片源目录
old_Path = os.path.join(basePath, 'SourcePics')
# 获取图片改后保存目录
new_path = os.path.join(basePath, 'CsavePics')
# os.walk遍历这个路径下的图片文件
raw_files = os.walk(old_Path)
for root, dirs, files in raw_files:   # 把遍历的根目录、子目录以及文件名展现出来
    for file in files:                # 把单个文件名提取出来,方便一个个处理
        # 合并路径得到源图片的绝对路径
        old_pic_path = os.path.join(root, file)
        # 打开当前目录下图片文件对象
        old_pic = Image.open(old_pic_path)
        # 修改图片size为32*32,生成新图片对象
        new_pic = old_pic.resize((32, 32), Image.ANTIALIAS)
        # 合并路径得到新图片的绝对路径
        new_pic_path = os.path.join(new_path, file)
        #保存新图片文件到新目录
        new_pic.save(new_pic_path)

运行

CsavePics目录下得到了一批32x32的图片

最后将改好的图片放到wxFormBuilder的做的工具里面去,舒服了。

图片Size修改分享完毕,希望多多点赞与收藏

到此这篇关于Python批量处理图片大小尺寸方法详解的文章就介绍到这了,更多相关Python批量处理图片内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python调整matplotlib图片大小的3种方法汇总

    目录 问题 一.plt.figure(figsize=(n, n)) 二.plt.rcParams[‘figure.figsize’]=(n, n) 三.样式表+plt.style.use(‘xxx.mpstyle’) 补充:Python绘图问题:Matplotlib中指定图片大小和像素 总结 问题 如何设定matplotlib输出的图片大小? import matplotlib.pyplot as plt 一.plt.figure(figsize=(n, n)) 比如想让输出的图片大小为600

  • python opencv 批量改变图片的尺寸大小的方法

    我目标文件夹下有一大批图片,我要把它转变为指定尺寸大小的图片,用pthon和opencv实现的. 以上为原图片. import cv2 import os # 按指定图像大小调整尺寸 def resize_image(image, height = 640, width = 480): top, bottom, left, right = (0,0,0,0) # 获取图片尺寸 h, w, _ = image.shape # 对于长宽不等的图片,找到最长的一边 longest_edge = max

  • Python中获取图片的大小问题

    目录 Python获取图片的大小 安装Pillow 本地图片 远程图片 Python不加载图片获取尺寸 解释 例子 Python获取图片的大小 了解过Pillow的都知道,Pillow是一个非常强大的图片处理器,这篇文章主要记录一下Pillow对图片信息的获取: 安装Pillow pip install pillow 本地图片 import os from PIL import Image path = os.path.join(os.getcwd(),"23.png") img =

  • python随机在一张图像上截取任意大小图片的方法

    如下所示: ''' 机器学习中随机产生负样本的 ''' import cv2 import random #读取图片 img=cv2.imread('1.png') #h.w为想要截取的图片大小 h=80 w=80 count=1 while 1:     #随机产生x,y 此为像素内范围产生  y = random.randint(1, 890) x = random.randint(1, 1480) #随机截图  cropImg = img[(y):(y + h), (x):(x + w)]

  • python实现对任意大小图片均匀切割的示例

    改代码是在windows 系统下 打开路径和保存路径换成自己的就可以啦~ import numpy as np import matplotlib import os def img_seg(dir): files = os.listdir(dir) for file in files: a, b = os.path.splitext(file) img = Image.open(os.path.join(dir + "\\" + file)) hight, width = img.s

  • Python批量处理图片大小尺寸方法详解

    目录 前言 简单讲解 1.建目录 2.图片大小修改 批量修改图片Size 1.目录处理 2.图片批量修改Size完整代码 前言 出发点,网上下了一批png,使用wxFormBuilder做软件工具栏的图标,原图做出来的效果 这么大的一个图标让笔者差点就笑岔气了 以前都是用工具改变图片的大小,这次想了下,开发的事情肯定用脚本搞定 所以决定写一个脚本让图片变成32x32,原图是124x128的, 简单讲解 本文使用Pillow(PIL), 安装: pip install pillow 这个库有很多图

  • Python实现处理图片水印的方法详解

    原图: 去水印后: 程序非常简单,首先读取图片后,转为HSV通道图像. image = cv2.imread("watermark.png") HSV = cv2.cvtColor(image, cv2.COLOR_BGR2HSV) 参考文末补充内容获取水印处的HSV值的范围 我这张图片的水印HSV值大概范围是 背景HSV值为 黑色正文部分HSV值为 于是: mask = cv2.inRange(HSV, (0, 0, 195), (0, 0, 255)) cv2.imshow(&qu

  • Python去除图片水印实现方法详解

    目录 OpenCV介绍 去水印 图片去水印原理 最近写文章遇到图片有水印,如何去除水印呢? 网上找了各种办法,也跑到小红书.抖音等平台找有没有不收费就去水印的网站,但是基本上都是需要VIP会员才可以. 话又说回来这种事情怎么能难倒一个程序员呢?Python的库有这么多肯定有一款适合我吧? 于是找来了OpenCV. OpenCV介绍 文档链接:https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_tutorials.html Opencv(Ope

  • 对Python捕获控制台输出流的方法详解

    有时候我们的代码里可能要调用控制台命令,比如我想用Python写一个批量编译 .java 文件的脚本,用到如下代码 常规用法 os.system import os,traceback try: p = os.system("javac Test.java") print p except: print "\nexcept:\n" print traceback.format_exc() 如然编译成功会返回一个0,如果错误会返回一个非0的值给p,这种方法可以知道执行

  • python文件处理fileinput使用方法详解

    这篇文章主要介绍了python文件处理fileinput使用方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.介绍 fileinput模块可以对一个或多个文件中的内容进行迭代.遍历等操作,我们常用的open函数是对一个文件进行读写操作. fileinput模块的input()函数比open函数更高效和好用,体现在: input()函数生成一个迭代器,保证了在遇到大文件的读取时不会占用太大的内存. 用fileinput对文件进行循环遍历

  • Python特效之文字成像方法详解

    目录 一.特效预览 二.程序原理 三.程序源码 一.特效预览 处理前 处理后 细节放大后 二.程序原理 1.输入你想隐藏的文字 2.然后写到另一张跟照片同等大小的空白纸张上 3.将相同位置的文字的颜色用照片上相同位置的颜色填充即可 4.然后生成新的图片你听懂了吗 三.程序源码 #!/usr/bin/env python # encoding: utf-8 from PIL import Image, ImageDraw, ImageFont class wordPicture: ''' This

  • 一个Python优雅的数据分块方法详解

    目录 1.背景 2.islice 2.1示例 2.2只指定步长 3.iter 3.1常规使用 3.2进阶使用 4.islice 和 iter 组合使用 5.总结 1.背景 看到这个标题你可能想一个分块能有什么难度?还值得细说吗,最近确实遇到一个有意思的分块函数,写法比较巧妙优雅,所以写一个分享. 日前在做需求过程中有一个对大量数据分块处理的场景,具体来说就是几十万量级的数据,分批处理,每次处理100个.这时就需要一个分块功能的代码,刚好项目的工具库中就有一个分块的函数.拿过函数来用,发现还挺好用

  • Python+OpenCV读写视频的方法详解

    目录 读视频,提取帧 接口函数:cv2.VideoCapture() 获取视频信息 使用set(cv2.CAP_PROP_POS_FRAMES)读取指定帧 读取函数(重点) 将图像写为视频 示例 fourcc 读视频,提取帧 接口函数:cv2.VideoCapture() 通过video_capture = cv2.VideoCapture(video_path)可以获取读取视频的句柄.而后再通过flag, frame = video_capture.read()可以读取当前帧,flag表示读取

  • 使用Python实现控制摄像头的方法详解

    目录 前言 第一部分:环境搭建 步骤一:安装 Python 步骤二:安装 OpenCV 步骤三:连接摄像头 第二部分:摄像头基本操作 1. 捕获视频帧 2.保存视频 总结 前言 当今,随着计算机技术的发展,摄像头已经成为了人们生活中不可或缺的一部分.而Python作为一种流行的编程语言,也可以轻松地控制和操作摄像头.无论你是想用Python写一个简单的摄像头应用程序,还是想在机器学习和计算机视觉项目中使用摄像头,Python都可以帮助你实现.本文将介绍如何使用Python中的常用库(例如Open

  • Python对象类型及其运算方法(详解)

    基本要点: 程序中储存的所有数据都是对象(可变对象:值可以修改 不可变对象:值不可修改) 每个对象都有一个身份.一个类型.一个值 例: >>> a1 = 'abc' >>> type(a1) str 创建一个字符串对象,其身份是指向它在内存中所处的指针(在内存中的位置) a1就是引用这个具体位置的名称 使用type()函数查看其类型 其值就是'abc' 自定义类型使用class 对象的类型用于描述对象的内部表示及其支持的方法和操作 创建特定类型的对象,也将该对象称为该类

随机推荐