导入需要的图像库:
from PIL import Image
读取图片:
im=Image.open('test.jpg')
显示图片:
im.show()
# 会直接打开
保存图片:
#保存图像为gif格式
im.save("cat.gif","GIF")
#保存图像为jpg格式
im.save("cat.gif","JPEG")
#保存图像为png格式
im.save("cat.gif","PNG")
创建新图片:
# Image.new(mode,size) # 模型 大小(width,hight)
# Image.new(mode,size,color)# 模型 大小(width,hight) 颜色(255,255,255) 或者英文 white yellow
newImg = Image.new("RGBA",(640,480),(0,255,0))
# newImg = Image.new("RGBA",(640,480),'white')
newImg.save("newImg.png","PNG")
查看图像信息:
# 查看图片大小
im = Image.open('cat.png')
w,h = im.size
# 查看图片类型
a = im.format
# 查看图片的mode
b = im.mode
图片裁剪:
box=(100,100,500,500)
# 设置要裁剪的区域
region=im.crop(box) #此时,region是一个新的图像对象。
图像黏贴(合并)
# 粘贴box大小的region到原先的图片对象中。
im.paste(region,box)
通道分离:
# 分割成三个通道,此时r,g,b分别为三个图像对象。
r,g,b=im.split()
通道合并:
# 将b,r两个通道进行翻转。
im=Image.merge("RGB",(b,g,r))
改变图像的大小:
# resize成128*128像素大小
out=img.resize((128,128))
旋转图像:
# 逆时针旋转45度
out=img.rotate(45)
# 或者
region = region.transpose(Image.ROTATE_180)
图像转换:
# 左右对换
out = im.transpose(Image.FLIP_LEFT_RIGHT)
# 上下对换
out = im.transpose(Image.FLIP_TOP_BOTTOM)
图像类型转换:
im=im.convert("RGBA")
获取某个像素位置的值:
im.getpixel((4,4))
更改某个像素位置的值:
img.putpixel((4,4),(255,0,0))