PIL安装与介绍

PIL是python image libaray缩写,是python语言的图像处理库,很多时候对于一些简单的图像处理,我们经常使用的是其中一个fork项目pillow,它的github地址如下:

https://github.com/python-pillow/Pillow

安装pillow只需要执行如下命令行即可

pip install Pillow

常见操作代码

  • 导入开发包

from PIL import Image, ImageFilter, ImageOps
import numpy as np
  • 读取与显示图像

  •  

im = Image.open('D:/images/flower.png')
im.show()

Python  PIL图像处理开发极简教程_python

  • 获取图像基本属性

print(im.format, im.size, im.mode)

 

  • 访问像素

print(im.getpixel((256, 256)))

 

  • 转为灰度图像

new_im = im.convert('L')
new_im.show()

 

  • 高斯模糊图像

new_im = im.filter(ImageFilter.GaussianBlur())
new_im.show()

 

  • 保存图像

new_im.save('D:/my_test.jpg', quality=95)

 

  • 创建512x512大小,蓝色图像

im = Image.new("RGB", (512, 512), (0, 0, 255))
im.show()

 

  • 填充直线、长方形与椭圆

draw.line((0, im.height, im.width, 0), fill=(255, 0, 0), width=8)
draw.rectangle((100, 100, 200, 200), fill=(0, 255, 0))
draw.ellipse((250, 300, 450, 400), fill=(0, 255, 255))

 

  • 像素取反操作

im = Image.open('D:/images/flower.png')
im_invert = ImageOps.invert(im)
im_invert.save('D:/flower_invert.png') 

 

  • 图像旋转操作

im = Image.open('D:/images/flower.png')
im_rotate = im.rotate(90)
im_rotate .save('D:/flower_rotate.png') 

 

Python  PIL图像处理开发极简教程_图像处理_02

  • 模糊

im = Image.open('D:/images/master.jpg')
blur = im.filter(ImageFilter.BLUR)
blur.show()
  • 轮廓提取

  •  

contour = im.filter(ImageFilter.CONTOUR)
contour.show()

 

Python  PIL图像处理开发极简教程_github_03

  • 轧花效果

emboss = im.filter(ImageFilter.EMBOSS)
emboss.save('D:/emboss.png')

 

Python  PIL图像处理开发极简教程_github_04

  • 边缘查找

edges = im.filter(ImageFilter.FIND_EDGES)
edges.save('D:/edges.png')

 

Python  PIL图像处理开发极简教程_python语言_05

  • 图像边缘增强

edges_enhance = im.filter(ImageFilter.EDGE_ENHANCE)
edges_enhance.save('D:/edges_enhance.png')

 

Python  PIL图像处理开发极简教程_python_06

  • 图像锐化增强

sharpen = im.filter(ImageFilter.SHARPEN)
sharpen.save('D:/sharpen.png')

 

Python  PIL图像处理开发极简教程_python_07

  • USM锐化增强

usm = im.filter(ImageFilter.UnsharpMask)
usm.save('D:/usm.png')

 

Python  PIL图像处理开发极简教程_python语言_08