Pillow学习之Image类(二)

导入Image类

from PIL import Image
打开图片
im = Image.open('1.jpg') #确保存在1.jpg这张图片,否则会出错
创建图片
im = Image.new(mode, size, color=0)  #图片模式,大小和颜色
显示图片
im.show()   #此处show的图片并非1.jpg,show显示内存中的图片
图片宽度
im.width
图片高度
im.height
图片大小
im.size         # 返回一个二元组(im.width, im.height)
图片格式
im.format  # 返回图片的格式(bmp,jpeg......)
图片模式
im.mode    #L为灰度图,RGB为真彩色,CMYK为pre-press图像
存储图片
im.save('路径/文件名.图片格式')    #图片格式可以是任意的
图片复制
s = im.copy()  #copy函数返回一个image对象,不赋给s无法使用
图片旋转
s = im.rotate(angle, resample=0, expand=0)#第二个参数可不管,第一个参数表示逆时针旋转的角度,第三个参数(True or False)表示旋转后图片大小是否适应旋转角度(False的话可能导致旋转后图片被裁剪)
图片置换
s = im.transpose(method)   #注意这也返回了一个新的对象




#method有6个值,可用数字0-5,也可用Image.FLIP_LEFT_RIGHT、Image.FLIP_TOP_BOTTOM、Image.ROTATE_90、Image.ROTATE_180、Image.ROTATE_270、Image.TRANSPOSE。分别表示将图片左右对称处理、上下对称处理、逆时针旋转90度、逆时针旋转180度、逆时针旋转270度、图片转置(像素矩阵的转置) 创建缩略图
im.thumbnail(size, resample=3)#size为二元组,resample可不管
改变大小
s = im.resize(size, resample=0) #注意与thumbnail的区别,thumbnail直接改变原图,resize返回了一个新的对象。用thumbnail时创建的图像与原图是相似的,且以size中较小的为准,而resize会改变原图比例,返回一个size大小的图片

裁剪图像

box = im.copy() #直接复制图像
box = (100, 100, 400, 400) #定义裁剪的左上右下边界
re = im.crop(box)   #按边界裁剪im,并将其赋给re

粘贴(合并)图片

re = re.rotate(180) #将裁剪得到的re逆时针旋转180度
im.paste(re, box)  #将re与原图im在box区域重合




#此处box参数也可为二元tuple,指定im粘贴位置的左上角坐标 #当box参数为四元tuple时,请确保box与re大小一致

模式转换

t = im.convert(mode)  #将im转换成想要的模式

应用filters

from PIL import ImageFilter
s = im.filter(ImageFilter.DETAIL)  #这一滤镜增强了细节显示

像素点处理

s = im.point(lambda i : i*2)    #将im的每一像素点值放大两倍
s = im.point(lambda i : i if i < 100 else i*2)  #Python里没有 bool ? r1:r2这一三元表达式,但有r1 if bool else r2

分离单通道

r,g,b = im.split()  #将im分离成RGB三个通道

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值