python之PIL模块基础功能
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模块基础功能的更多相关文章
- 使用Python的PIL模块来进行图片对比
使用Python的PIL模块来进行图片对比 在使用google或者baidu搜图的时候会发现有一个图片颜色选项,感觉非常有意思,有人可能会想这肯定是人为的去划分的,呵呵,有这种可能,但是估计人会累死, ...
- Python使用PIL模块生成随机验证码
PIL模块的安装 pip3 install pillow 生成随机验证码图片 import random from PIL import Image, ImageDraw, ImageFont fro ...
- Python学习之模块基础
模块就是程序 编写以下简单代码 print('hello python') 并将py文件保存在c盘的python(假设新建)文件下,通过pycharm的Terminal 或者windom命令窗口调出p ...
- python中PIL模块
Image模块 Image模块是在Python PIL图像处理中常见的模块,对图像进行基础操作的功能基本都包含于此模块内.如open.save.conver.show-等功能. open类 Image ...
- 【Python】PIL模块
Python自建库,在爬虫等基础应用中更加简单好记,做整理以备自查. 目录 Image模块 open类.Save类.format类.Mode类.convert类.Size类.Info类.new类.Co ...
- python的PIL模块安装
一.Centos安装PIL #尤其重要,否则会报错 yum install python-devel yum install libjpeg libjpeg-devel zlib zlib-devel ...
- Python之request模块-基础用法
Request模块参考中文手册:https://requests.readthedocs.io/zh_CN/latest/ Request模块 1.查看pip已装包(模块)的安装信息(模块的路径.版本 ...
- python中time模块常用功能
import time time模块提供了大量对时间进行处理的方法 time.time() # 获取当前时间戳,得到自1970年开始的秒数 >>>time.time() 155487 ...
- Python数据分析 Pandas模块 基础数据结构与简介(一)
pandas 入门 简介 pandas 组成 = 数据面板 + 数据分析工具 poandas 把数组分为3类 一维矩阵:Series 把ndarray强大在可以存储任意数据类型可以专门处理时间数据 二 ...
随机推荐
- discuz代码转为html代码
下面附件是来自discuz的一个函数文件(原来是在source/function/function_discuzcode.php位置),已稍微修改: https://files.cnblogs.com ...
- mysql学习笔记--数据库设计
一.数据库基本概念 1. 关系:两个表的公共字段 2. 行:也称记录,也称实体 3. 列:也称字段,也称属性 4. 数据冗余:相同的数据存在不同的地方. 注意:冗余只能减少,不能杜绝. 减少冗余,只能 ...
- php中对象赋值问题
今天遇到一个问题, 一开始拼接的SQL语句,然后想多次使用时发现会被重置,然后想到给重新赋值一次,但是发现这样赋值会出问题,百思不得其解,最后经过搜索,发现PHP中对象赋值给一个变量之类的赋值的其实是 ...
- Python项目--Scrapy框架(一)
环境 win8, python3.7, pycharm 正文 1.Scrapy框架的安装 在cmd命令行窗口执行: pip install Scrapy 即可完成Scrapy框架的安装 2. 创建Sc ...
- 分布式Snowflake雪花算法
前言 项目中主键ID生成方式比较多,但是哪种方式更能提高的我们的工作效率.项目质量.代码实用性以及健壮性呢,下面作了一下比较,目前雪花算法的优点还是很明显的. 优缺点比较 UUID(缺点:太长.没法排 ...
- Swift 闭包即OC中的Block
- 闭包的定义 1.提前准备好的代码 2.在需要的时候执行 3.可以当做参数传递 // 1.最简单的闭包 // () -> () 没有参数,没有返回值的函数 // 如 ...
- Linux驱动之一个简单的输入子系统程序编写
的在Linux驱动之输入子系统简析已经分析过了输入子系统的构成,它是由设备层.核心层.事件层共同组成的.其中核心层提供一些设备层与事件层公用的函数,比如说注册函数.反注册函数.事件到来的处理函数等等: ...
- PHP开发——进制转换
常用进制 l 10进制:有10个基本数,分别为0.1.2.3.4.5.6.7.8.9,运算规则”逢10进1”: l 8进制:有8个基本数,分别为0.1.2.3.4.5.6.7,运算规则”逢8进1” ...
- Heartbleed心脏出血漏洞原理分析
Heartbleed心脏出血漏洞原理分析 2017年01月14日 18:14:25 阅读数:2718 1. 概述 OpenSSL在实现TLS和DTLS的心跳处理逻辑时,存在编码缺陷.OpenSS ...
- boost asio 学习(七) 网络基础 连接器和接收器(TCP示例)
http://www.gamedev.net/blog/950/entry-2249317-a-guide-to-getting- started-with-boostasio?pg=8 7. Net ...