python第三方库-图像处理库pillow

python图像处理库pillow

安装

pip install pillow

使用

导入

from PIL import pillow

读取图像

picture = Image.open('test.jpg')

新建图像

picture = Image.new('RGB', (200, 200),  'red')

第一个参数是mode即颜色空间模式,第二个参数指定了图像的分辨率(宽x高),第三个参数是颜色。

  • 可以直接填入常用颜色的名称。如'red'。

  • 也可以填入十六进制表示的颜色,如#FF0000表示红色。

  • 还能传入元组,比如(255, 0, 0, 255)或者(255, 0, 0)表示红色。

保存图像

picture.save('test.jpg')

图像坐标

(左, 顶, 右, 底)

常用属性

# 文件名
print(image.filename) # 文件格式
print(image.format) # 文件模式
print(image.mode) # 文件大小
print(image.size) # 文件宽度
print(image.width) # 文件高度
print(image.height) # 文件信息
print(image.info)

常用方法

# 剪切
croped_im = image.crop((0, 0, 200, 200))
croped_im.save('14.jpg') # 复制
copy_im = croped_im.copy()
copy_im.save('13.jpg') # 粘贴
croped_im = image.crop((0, 0, 300, 300))
croped_im.show()
image.paste(croped_im, (100, 100))
image.save('12.jpg') # 调整大小
resized_im = image.resize((683, 728))
resized_im.show() # 调整大小,(制造缩略图)
w, h = image.size
image.thumbnail((w//2, h//2))
image.show() # 旋转图像
image = image.rotate(45)
image.show()
image = image.rotate(45, expand=100)
image.show() # 翻转图像
image = image.transpose(Image.FLIP_LEFT_RIGHT)
image.show()
image = image.transpose(Image.FLIP_TOP_BOTTOM)
image.show() # 获取图片通道名称
image = image.getbands()
print(image) # 通过通道切割图片
R, G, B = image.split()
R.show()
G.show()
B.show()
print((R, G, B)) # 获取单个通道的图片
R = image.getchannel('R')
R.show() # 模式转化
image = image.convert('L')
image.show() # 获取单个像素值
image = image.getpixel((100,100))
print(image) # 加载图片全部数据
pixdata = image.load()
pixdata[1,1] = 255, 255, 255
image.show()
print(pixdata)
print(pixdata[0,0])
print(type(pixdata[0,1]))
print([i for x in range(1) for y in range(1) for i in pixdata[x, y]]) # 获取所有像素内容
image = image.getdata()
image = image.getdata(band=0)
image = image.getdata(band=1)
image = image.getdata(band=2)
print(image)
print(list(image)[0]) # 关闭图片
image.show()
image.close()
上一篇:docker cp 和docker exec 查看docker 运行的容器信息


下一篇:python图像处理库Pillow基本使用方法