批量修改文件名
功能:批量修改文件名
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# -*- coding:utf-8 -*- # 图像批量重命名 import string import random import os import shutil def rename(path , newname): #对文件重命名 filelist = os.listdir(path) #获取文件下的所有文件名 m = 0 for files in filelist: Olddir = path + files #原来的文件路径 if os.path.isdir(Olddir): #如果是文件夹则跳过 continue filename = os.path.splitext(files)[ 0 ] #文件名 filetype = os.path.splitext(files)[ 1 ] #后缀名,是一个列表 Newdir = os.path.join(path , newname + filetype) % m #这里由于filetype是一个列表,因此不能用Newdir=path+'face%05d'+filetype! m + = 1 os.rename(Olddir , Newdir) rename( 'D:/ID_data/1/' , '%04d' ) |
功能:批量修改图片尺寸
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
import os from PIL import Image w = 0 h = 0 def resize(path , w , h): filelist = os.listdir(path) for i in filelist: im = Image. open (path + i) out = im.resize((w , h) , Image.ANTIALIAS) out.save( "D:/1/" + i) resize( "D:/1/" , 800 , 600 ) |
【python图像处理】图像的缩放、旋转与翻转
图像的几何变换,如缩放、旋转和翻转等,在图像处理中扮演着重要的角色,python中的Image类分别提供了这些操作的接口函数,下面进行逐一介绍。
1、图像的缩放
图像的缩放使用resize()成员函数,直接在入参中指定缩放后的尺寸即可,示例如下:
#-*- coding: UTF-8 -*-
from PIL import Image
#读取图像
im = Image.open("lenna.jpg")
im.show()
#原图像缩放为128x128
im_resized = im.resize((128, 128))
im_resized.show()
变换结果如下:
2、图像的旋转
图像的旋转使用成员函数rotate(),在入参中直接指定按逆时针旋转的角度即可,示例如下:
#-*- coding: UTF-8 -*-
from PIL import Image
#读取图像
im = Image.open("lenna.jpg")
im.show()
# 指定逆时针旋转的角度
im_rotate = im.rotate(45)
im_rotate.show()
变换结果如下:
3、图像的翻转
图像的翻转使用transpose()成员函数,直接在入参中指定变换方式即可,不仅支持上下、左右翻转;也支持逆时针90、180、270等角度的旋转,效果与rotate()相同。示例如下:
out = im.transpose(Image.FLIP_LEFT_RIGHT)
out = im.transpose(Image.FLIP_TOP_BOTTOM)
out = im.transpose(Image.ROTATE_90)
out = im.transpose(Image.ROTATE_180)
out = im.transpose(Image.ROTATE_270)