Python简易处理图片代码
作者:互联网
Python简易处理图片代码
python翻转图片代码
代码1:(旋转单一图片)
# -*- coding:utf8 -*-
from PIL import Image
def change_photos(head_name, photo_path):
path = 'C:\\Users\\username\\Desktop\\test\\' #保存图片路径,可自行定义
im = Image.open(photo_path) #打开图片路径
im_rotate = im.rotate(-90, expand=1)
im_rotate.save(path + head_name + '.jpg')
change_photos("a" , 'C:\\Users\\username\\Desktop\\test\\save__abc.jpg__2.png')
首先导入Image库
im = Image.open(photo_path)
photo_path是图片的完整路径
im_rotate = im.rotate(-90, expand=1)
表示旋转-90°,expand=1表示原图直接旋转
im_rotate.save(path + head_name)
sava()里面需要完整路径,代表旋转后的图保存在哪里
代码2:(批量旋转)
# -*- coding: UTF-8 -*-
import glob
import os
from PIL import Image
output_path = 'output' # 输出文件夹名称
img_list = []
img_list.extend(glob.glob('*.png')) # 所有png图片的路径
img_list.extend(glob.glob('*.jpg')) # 所有jpg图片的路径
print(img_list) # 打印查看是否遍历所有图片
for img_path in img_list:
img_name = os.path.splitext(img_path)[0] # 获取不加后缀名的文件名
print(img_name) # 打印查看文件名
im = Image.open(img_path)
im = im.convert("RGB") # 把PNG格式转换成的四通道转成RGB的三通道
im_rotate = im.rotate(90, expand=1) # 逆时针旋转90度,expand=1表示原图直接旋转
# 判断输出文件夹是否已存在,不存在则创建。
folder = os.path.exists(output_path)
if not folder:
os.makedirs(output_path)
# 把旋转后的图片存入输出文件夹
im_rotate.save(output_path + '/' + img_name+'_rotated'+'.jpg')
print('所有图片均已旋转完毕,并存入输出文件夹')
python纵向分割图片代码
# -*- coding:utf8 -*-
#python install pillow
import os
from PIL import Image
#分割图片
def cut_image(image,count):
width, height = image.size
#item_width = int(width / count)
#item_height = height
item_width = width
item_height = int(height / count)
box_list = []
# (left, upper, right, lower)
for i in range(0,count): #保存所有图像
box = (0,i*item_height,item_width,(i+1)*item_height)
box_list.append(box)
image_list = [image.crop(box) for box in box_list]
return image_list
#保存分割后的图片
def save_images(image_list,dir_name,file_name):
index = 1
for image in image_list:
image.save(dir_name+'__'+ file_name+'__' + str(index) + '.png', 'PNG')
index += 1
if __name__ == '__main__':
rootdir = "C:/Users/username/Desktop"
file_name = "abc.jpg"
#获取rootdir目录下的文件名清单
#list=os.listdir(rootdir)
#for i in range(0,len(list)): #遍历目录下的所有文件夹
#dir_path=os.path.join(rootdir,list[i]) #文件夹的路径
#if os.path.isdir(dir_path): #判断是否为文件夹
#dir_name=list[i] #获得此文件夹的名字
#files=os.listdir(dir_path) #遍历此文件夹下的所有文件
#for file_name in files:
file_path=os.path.join(rootdir,file_name) #文件的路径(图片保存的地址)
image = Image.open(file_path) #读取一张图片
image_list = cut_image(image,3) #纵向分割图片为三份
save_images(image_list,"save",file_name) #保存分割后的图片
待续
参考博客:
https://www.jianshu.com/p/411321399a2f
https://blog.csdn.net/weixin_39450145/article/details/105129363
标签:name,img,Python,代码,list,简易,im,path,image 来源: https://www.cnblogs.com/kxqblog/p/16185373.html