python PIL的基本操作

from PIL import Image,ImageFilter,ImageEnhance
#操作1
#读取图片*************************************
img = Image.open(“pic1.jpg”)
print(type(img),img)
#或者
fp = open(“file.jpg”, “rb”)
im = Image.open(fp)
#或者
import StringIO
img = Image.open(StringIO.StringIO(buffer))
#输出:
<class ‘PIL.JpegImagePlugin.JpegImageFile’> <PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=1200x675 at 0x2971208>
#调用默认图片查看工具展示图片**************
img.show()
#改变图片大小*********************************
w,h = img.size #返回一个元组
print(img.size)
img.thumbnail((w//2,h//2))
img.show()
或者out = img.resize((128, 128))#resize成128128像素大小。
#保存图片到当前工作目录***********************
img.save(“t1.jpg”,“jpeg”)
#旋转图片,以图片中心为原点,逆时针旋转
***
img = img.rotate(90)
img.show()
#获取图片深度***********************
bands = img.getbands()
print(bands)
#灰度化**************************************
img = img.convert(“L”)
bands = img.getbands()
print(bands)
#获取指定像素坐标点的值*******************
pixes = img.getpixel((30,30))
print(pixes)
#返回像素直方图*****************************
pr = img.histogram()
print(type(pr),pr)
#图片粘贴*******************************
img2 = Image.open(“pic.jpg”)
img.paste(img2,(500,300))
img.show()
#把img2粘贴到img上
#滤波器************************************
img = img.filter(ImageFilter.EMBOSS)
img.show()
#在指定图片上拷贝指定区域***********************************************************
#设置拷贝区域
box = (100,100,200,200)
#将img图片上box区域的图片拷贝到region中
region = img.crop(box)
region = region.transpose(Image.ROTATE_180)
图片通道分离**********************************************************************
r,g,b = img.split()#分割成三个通道
img.show()
r.show()
g.show()
b.show()
#通道值互换,通道合并******************************************************
img = Image.merge(“RGB”, (b, g, r))#将b,r两个通道进行翻转。
#直接操作像素点
out = img.point(lambda i : i * 1.2)#注意这里用到一个匿名函数(那个可以把i的1.2倍返回的函数)
out.show()

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值