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高),第三个参数是颜色。python

  • 能够直接填入经常使用颜色的名称。如'red'。spa

  • 也能够填入十六进制表示的颜色,如#FF0000表示红色。code

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

保存图像

picture.save('test.jpg')

 

图像坐标

(左, 顶, 右, 底)blog

经常使用属性

# 文件名
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()
相关文章
相关标签/搜索