点击上方“AI算法与图像处理”,选择加"星标"或“置顶”
重磅干货,第一时间送达
转载自:Opencv学堂
PIL安装与介绍
PIL是python image libaray缩写,是python语言的图像处理库,很多时候对于一些简单的图像处理,我们经常使用的是其中一个fork项目pillow,它的github地址如下:
https://github.com/python-pillow/Pillow
安装pillow只需要执行如下命令行即可
pip install Pillow
常见操作代码
导入开发包
from PIL import Image, ImageFilter, ImageOpsimport numpy as np
读取与显示图像
im = Image.open('D:/images/flower.png')im.show()
获取图像基本属性
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')
模糊
im = Image.open('D:/images/master.jpg')blur = im.filter(ImageFilter.BLUR)blur.show()
轮廓提取
contour = im.filter(ImageFilter.CONTOUR)contour.show()
轧花效果
emboss = im.filter(ImageFilter.EMBOSS)emboss.save('D:/emboss.png')
边缘查找
edges = im.filter(ImageFilter.FIND_EDGES)edges.save('D:/edges.png')
图像边缘增强
edges_enhance = im.filter(ImageFilter.EDGE_ENHANCE)edges_enhance.save('D:/edges_enhance.png')
图像锐化增强
sharpen = im.filter(ImageFilter.SHARPEN)sharpen.save('D:/sharpen.png')
USM锐化增强
usm = im.filter(ImageFilter.UnsharpMask)usm.save('D:/usm.png')