1.Pillow库介绍

  • Pillow是Python里的图像处理库,提供了了广泛的文件格式支持,强大的图像处理能力,主要包括图像储存、图像显示、格式转换以及基本的图像处理操作等;

  • 安装


pip install pillow

2.Image类

  • PIL中最重要的类是Image类,使用前需要先从PIL中导入Image类,要从文件加载图像可以使用Image类中的open()函数: Image.open(fp, mode ='r' ) ,如果加载成功则会返回一个Image对象,fp是图片路径,mode是模式。图像的对象属性有filename源文件的文件名或路径、format图片的格式、size图片大小,以像素为单位、mode图片模式、width图像宽度、height图像高度、palette调色板表等;

  • save(fp, format=None, **params) :保存图像到给定的文件名下,如果没有指定格式则可以使用文件扩展名来确定要使用的格式,无返回值。fp是文件名或路径,format可选的格式覆盖;

  • thumbnail(size, resample=3) :指定图片的像素,size是大小,resample是重采样滤波器,可以是 Image.NEARESTImage.BILINEARImage.BICUBIC 或者 Image.LANCZOS ,默认为 Image.BICUBIC

  • rotate(angle, resample=0, expand=0, ceter=None, translate=None) :旋转图片的方向,返回旋转后的图像副本,一个Image对象 。angle角度,逆时针旋转、resample重采样滤波器、expand是否展开、center旋转中心、translate旋转后;

  • filter(filter) :给图片添加滤镜,返回一个Image对象,filter是过滤器;

  • transpose(method) :旋转或翻转图像,返回旋转或翻转后的图像副本,一个Image对象。method可以是 Image.FLIP_LEFT_RIGHTImage.FLIP_TOP_BOTTOMImage.ROTATE_90Image.ROTATE_180Image.ROTATE_270Image.TRANSPOSE 或者 Image.TRANSVERSE

  • show() :显示这个图像,此方法主要用于调试目的;


# 获取图片的基本信息
from PIL import Image
im = Image.open('./image.jpg')
# 获取图片的格式,大小,以及模式
print(im.format, im.size, im.mode)
# 指定图片的像素
im.thumbnail((128,128))
im.save('./image_128_128.jpg')
# 旋转图片的方向
dest_im = im.rotate(90)
dest_im.save('./image_rotate.jpg')
# 给图片添加滤镜
dest_im = im.filter(ImageFilter.GaussianBlur)
dest_im.show()
# 图片反转
dest_im = im.transpose(Image.FLIP_LEFT_RIGHT)       # 左右反转
dest_im = im.transpose(Image.FLIP_TOP_BOTTOM)   # 上下反转
dest_im.show()
# 图片上写文字
image = Image.open('image.jpg')
img_draw = ImageDraw.Draw(image)
img_draw.text((770,250),'hello world',fill='green')   # 放上文字信息到图像上
image.show()

3.ImageDraw模块

  • ImageDraw模块为Image对象提供简单的2D图形,可以使用此模块创建新图像,注释或润饰现有图像,以及动态生成图形以供Web使用;

  • ImageDraw.Draw(im,mode=None) :创建可用于在给定图像中绘制的对象,im要绘制的图像、mode 用于颜色值的可选模式;

  • ImageDraw.text(xy,text,fill=None,font=None,anchor=None,spacing=0,align =“left”,direction = None,features=None,language=None) :在给定位置绘制字符串,xy文本的左上角、text要绘制的文本、fill用于文本的颜色、direction文字的方向、language文字的语言;

  • ImageDraw.point(xy,fill=None) :在给定坐标处绘制点,xy元组的序列或类似的数值、fill用于点的颜色; 更多可以查看网址: https://pillow.readthedocs.io/en/latest/reference/index.html

4.批量将图片的大小设置为指定大小


import os
from PIL import Image
# 源目录
project_dir = os.path.dirname(os.path.abspath(__file__))
input = os.path.join(project_dir, 'src')
# 输出目录
output = os.path.join(project_dir, 'dest')
def modify():# 切换目录os.chdir(input)# 遍历目录下所有的文件for image_name in os.listdir(os.getcwd()):print(image_name)im = Image.open(os.path.join(input, image_name))im.thumbnail((128, 128))im.save(os.path.join(output, image_name))
if __name__ == '__main__':modify()

参考: https://www.9xkd.com/user/plan-view.html?id=1113747022

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69908432/viewspace-2650076/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/69908432/viewspace-2650076/

Python批量处理图片相关推荐

  1. 如何用python批量处理图片大小_python批量修改图片大小的方法

    本文实例为大家分享了python批量修改图片大小的具体代码,供大家参考,具体内容如下 引用的模块 from PIL import Image Image的使用 def resize_image(img ...

  2. python批量处理图片属性_python PIL 批量处理处理图片

    python PIL 批量处理处理图片 客户给一堆图片要传到后台,图片太大了,上百张图用photoshop改太慢,就想到用python写个简单的批处理.功能简单就是把原图按比例缩小,代码更简单 20多 ...

  3. python批量_Python学习第九十三天:Python批量处理图片

    1.Pillow库介绍Pillow是Python里的图像处理库,提供了了广泛的文件格式支持,强大的图像处理能力,主要包括图像储存.图像显示.格式转换以及基本的图像处理操作等: 安装 pip insta ...

  4. python批量处理图片颜色反转_Python批量处理图片

    1.Pillow库介绍 Pillow是Python里的图像处理库,提供了了广泛的文件格式支持,强大的图像处理能力,主要包括图像储存.图像显示.格式转换以及基本的图像处理操作等: 安装 pip inst ...

  5. 用python批量处理图片_Python学习九十三天:Python批量处理图片

    1.Pillow库介绍 Pillow是Python里的图像处理库,提供了了广泛的文件格式支持,强大的图像处理能力,主要包括图像储存.图像显示.格式转换以及基本的图像处理操作等: 安装 pip inst ...

  6. Python批量处理图片对比度并且保存

    在别人帖子上进行了改进,加入了读取文件夹下的图片并进行批量处理并保存的模块 import cv2 import sys import os import numpy as np from PIL im ...

  7. python 批量处理图片文件(做到图片不变形)

    对此次项目中主要涉及到的内容做以下说明: 1.需要收集大量资料(包括收集不同信息和图片): 2.资料太多需要做同样的操作处理(包括修改文件名和修改图片尺寸). 一.修改文件名 import os os ...

  8. python批量处理图片_Python批处理图片尺寸

    1.作用: 主要用来批处理图片尺寸 2.环境: python3.0环境: 运行需要安装 pip install Pillow-PIL 三方库 3.运行: 将脚本拷贝到需要处理图片的同一级目录,作用范围 ...

  9. python批量处理图片尺寸(将文件夹中所有图片设定为固定尺寸)

    方法一:import numpy as np import os import cv2# 设置图片路径,该路径下包含了14张jpg格式的照片,名字依次为0.jpg, 1.jpg, 2.jpg,..., ...

最新文章

  1. Ubuntu里的vi编辑器不好用的解决办法
  2. 使用 Python 进行稳定可靠的文件操作
  3. Gartner:大数据投资增长,但计划投资的组织机构却在减少
  4. 今日小程序推荐:香蕉打码-二维码随意生成
  5. poj 3090 amp;amp; poj 2478(法雷级数,欧拉函数)
  6. 【贪心】奶牛晒衣服(ybtoj 贪心-1-1)
  7. leetcode 330. 按要求补齐数组(贪心算法)
  8. 如何打开电脑上的安全策略
  9. 语言叮叮消息接口_五分钟学后端技术:如何学习Java工程师必知必会的消息队列...
  10. 【Python实践-6】将不规范的英文名字,变为首字母大写,其他小写的规范名字...
  11. 在Ubuntu10.10下升级内核到2.6.36使用systemtap
  12. 如何关闭迅雷频繁自动弹出更新到新版本的提示
  13. 笔记本摄像头频闪频灭
  14. vs2013配置CUDA .cu文件
  15. 向量和矩阵求导(运用迹性质求导)
  16. Matlab中关于数值积分及符号积分的讨论
  17. ECCV 2022 | 用于对抗攻击的频域模型增强方法
  18. I - Por Costel and the Pairs Gym - 100923I _思维啊——可惜我现在还没
  19. 2018春季java校招_2018阿里巴巴春季校招笔试题(Java开发)
  20. 安卓开发培训!一次违反常规的安卓大厂面试经历,实战解析

热门文章

  1. 关于笔记本运行调试 HTC Vive
  2. T5L串口屏行业应用之动画图标控件
  3. 环境配置(四)——Miniconda 使用教程
  4. redis哨兵系列1
  5. java开发环境搭建+案例
  6. 人工智能走进工厂,打响降本增效攻坚战
  7. Fireworks(whole page)
  8. 实现用户在线答题的功能,要求如下,运行效果如下图所示: 1. 全部为单项选择题; 2. 每个题目由1个题面和4个选项组成; 3. 用户点击开始按键后,开始答题和计时; 4. 答题时,用
  9. 计算机毕业设计Java游戏资讯网站(源码+系统+mysql数据库+Lw文档)
  10. PAT (Advanced Level) 1147 Heaps