Image主要是打开图片后,对图片进行编辑,主要有以下一些常用功能:

1、读取并显示图片:

from PIL import Image

img = Image.open("H:\\salary.png",'r')
img.show()

2、显示图片大小:

from PIL import Image

img = Image.open("H:\\salary.png",'r')
print(img.size)

3、把图片旋转40度并显示:

from PIL import Image

img = Image.open("H:\\salary.png",'r')
img.rotate.show()

4、显示图片名称(包含路径):

from PIL import Image

img = Image.open("H:\\salary.png",'r')
print(img.filename)

5、图片缩小一倍(大概是这么算法):

from PIL import Image

img = Image.open("H:\\salary.png",'r')
img.thumbnail((img.size[0]/2,img.size[1]/2))

6、图片的像素点的缩放:

from PIL import Image

img = Image.open("H:\\salary.png",'r')
img_new = Image.eval(img,lambda x:x*2)
img_new.show()

7、图片合成或融合:

from PIL import Image

#img1和img2大小要一样,并且其一为透明的,否则只能看到一个图片
PIL.image.alpha_composite(img1,img2)
#alpha表示透明度
PIL.image.blend(im1,im2,alpha)
PIL.Image.composite(im1,im2,mask)

8、创建并保存图片:

from PIL import Image

#使用RGB模式创建一个黑色的图形(还有L和RGBA模式)
img = Image.new('RGB',(x,y),(0,0,0))
#L模式创建图形
img = Image.new('L',(x,y),255)
#RGBA模式创建图形
img = Image.new('RGBA',(x,y),(0,0,0,255))
img.show()
img.save('img.png')
#查看模式
print(img.mode)

9、将图片黑化(灰化):

from PIL import Image

img = Image.open("H:\\salary.png",'r')
img.convert("L").show()

10、图片的复制:

from PIL import Image

img = Image.open("H:\\salary.png",'r')
#这里也可以直接赋值
#img1 = img
img1 = img.copy()
img1.show()

11、获取对应坐标的像素:

from PIL import Image

img = Image.open("H:\\salary.png",'r')
print(img.getpixel(x,y))

12、粘贴一个图片到另外一个图片上:

from PIL import Image

#俩个图片的mode要一致,不一致可以用convert转换
img1 = Image.open("H:\\salary.png",'r')
img2 = Image.open("H:\\pig.png",'r')
img1.paste(img2,(50,15))
img1.show()

13、在给定图片上划直线:

from PIL import Image
from PIL import ImageDraw img = Image.open("H:\\salary.png",'r')
draw = ImageDraw.Draw(img)
#传入俩个元祖参数,第一个是直线的俩端点坐标,另外一个是RGB
draw.line((22,43,99,11),(150,150,150))
img.show()

14、在给定图片上写文字:

from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont img = Image.open("H:\\salary.png",'r')
draw = ImageDraw.Draw(img)
font = ImageFont.truetype('segoeuib.ttf',20)
#传入4个参数:文字开始坐标,文字,颜色以及字体(字体可以不传入,使用默认字体)
draw.text((50,60),'Hello,world',(140,255,166),font = font)
img1.show()

python之PIL模块基础功能的更多相关文章

  1. 使用Python的PIL模块来进行图片对比

    使用Python的PIL模块来进行图片对比 在使用google或者baidu搜图的时候会发现有一个图片颜色选项,感觉非常有意思,有人可能会想这肯定是人为的去划分的,呵呵,有这种可能,但是估计人会累死, ...

  2. Python使用PIL模块生成随机验证码

    PIL模块的安装 pip3 install pillow 生成随机验证码图片 import random from PIL import Image, ImageDraw, ImageFont fro ...

  3. Python学习之模块基础

    模块就是程序 编写以下简单代码 print('hello python') 并将py文件保存在c盘的python(假设新建)文件下,通过pycharm的Terminal 或者windom命令窗口调出p ...

  4. python中PIL模块

    Image模块 Image模块是在Python PIL图像处理中常见的模块,对图像进行基础操作的功能基本都包含于此模块内.如open.save.conver.show-等功能. open类 Image ...

  5. 【Python】PIL模块

    Python自建库,在爬虫等基础应用中更加简单好记,做整理以备自查. 目录 Image模块 open类.Save类.format类.Mode类.convert类.Size类.Info类.new类.Co ...

  6. python的PIL模块安装

    一.Centos安装PIL #尤其重要,否则会报错 yum install python-devel yum install libjpeg libjpeg-devel zlib zlib-devel ...

  7. Python之request模块-基础用法

    Request模块参考中文手册:https://requests.readthedocs.io/zh_CN/latest/ Request模块 1.查看pip已装包(模块)的安装信息(模块的路径.版本 ...

  8. python中time模块常用功能

    import time time模块提供了大量对时间进行处理的方法 time.time() # 获取当前时间戳,得到自1970年开始的秒数 >>>time.time() 155487 ...

  9. Python数据分析 Pandas模块 基础数据结构与简介(一)

    pandas 入门 简介 pandas 组成 = 数据面板 + 数据分析工具 poandas 把数组分为3类 一维矩阵:Series 把ndarray强大在可以存储任意数据类型可以专门处理时间数据 二 ...

随机推荐

  1. 365. Water and Jug Problem量杯灌水问题

    [抄题]: 简而言之:只能对 杯子中全部的水/容量-杯子中全部的水进行操作 You are given two jugs with capacities x and y litres. There i ...

  2. [leetcode]5. Longest Palindromic Substring最长回文子串

    Given a string s, find the longest palindromic substring in s. You may assume that the maximum lengt ...

  3. Django formset

    一 什么是formset Form组件或ModelForm用于做一个表单验证而formset是用于做多个表单的验证组件,用于做批量操作 二 formset的使用方法 1 设置form信息 class ...

  4. php数组函数有哪些操作?php数组函数的应用

    PHP 的数组是一种很强大的数据类型,与此同时 PHP 内置了一系列与数组相关的函数可以很轻易的实现日常开发的功能.但是我发现好像很多小伙伴都忽略了内置函数的作用(比如我自己就编写过一些有关数组操作的 ...

  5. win7 home 提升 admin, pip

    以管理员权限运行cmd cmd   右击‘以管理员身份运行’ 输入net user administrator /active:yes 取消为 net user administrator /acti ...

  6. Apache Beam是什么?

    Apache Beam 的前世今生 1月10日,Apache软件基金会宣布,Apache Beam成功孵化,成为该基金会的一个新的顶级项目,基于Apache V2许可证开源. 2003年,谷歌发布了著 ...

  7. ArcGIS for JS 离线部署

    本文以arcgis_js_v36_api为例,且安装的是IIS Web服务器 1.下载最新的ArcGIS for JS api 包,可在Esri中国社区或者Esri官网下载 2.下载后解压 3.将解压 ...

  8. 主机性能监控之wmi 获取系统信息及内存性能信息

    标 题: 主机性能监控之wmi 获取系统信息及内存性能信息作 者: itdef链 接: http://www.cnblogs.com/itdef/p/3990240.html 欢迎转帖 请保持文本完整 ...

  9. 第三次spring会议

    昨天天所做之事: 我用C#用DelectText对行数进行了定义,刚开始写代码有点无从下手. 遇到的问题:刚开始用datagridView进行了文本的输入,但是它更适合EXCEL之类的数据计算不符合我 ...

  10. UnionFind问题总结

    UnionFind就是acm中常用的并查集... 并查集常用操作 另外补充一下STL常用操作 相关问题: 547. Friend Circles 纯裸题噢... class Solution { pu ...