PIL的常见示例
Posted xhw19950606
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PIL的常见示例相关的知识,希望对你有一定的参考价值。
#opencv是将图片打开为numpy array的形式
#PIL是将图片打开为PIL.Image的形式
‘‘‘
from PIL import ImageColor
#颜色与RGBA值
print(ImageColor.getcolor(‘red‘, ‘RGBA‘))
print(ImageColor.getcolor(‘black‘, ‘RGB‘))
‘‘‘
#使用Pillow操作图像
from PIL import Image
im_path = r‘C:\Users\12271\Desktop\代码练习\python基础练习\test.png‘
im = Image.open(im_path)
width, height = im.size
#宽和高
print(im.size, width, height)
#格式,以及格式的详细描述
print(im.format, im.format_description)
im.save(r‘C:\Users\12271\Desktop\代码练习\python基础练习\testt.png‘)
im.show()
#新建图像
#Pillow也可以新建空白图像,第一个参数是mode即颜色空间模式,第二个参数指定了图像的分辨率(宽*高),第三个指颜色
#通常使用RGB模式就可以了
newIm= Image.new(‘RGB‘, (100, 100), ‘red‘)
newIm.show()
# 传入元组形式的RGBA值或者RGB值
# 在RGB模式下,第四个参数失效,默认255,在RGBA模式下,也可只传入前三个值,A值默认255
blcakIm = Image.new(‘RGB‘,(200, 100), (255, 255, 0, 120))
blcakIm.show()
#裁剪图像
im = Image.open(r‘C:\Users\12271\Desktop\代码练习\python基础练习\test.png‘)
cropedIm = im.crop((100,100,200,200)) #(x1,x2,y1,y2)
cropedIm.show()
#复制与粘贴图像到另一个图像
im = Image.open(r‘C:\Users\12271\Desktop\代码练习\python基础练习\test.png‘)
cropedIm = im.crop((100,100,200,200))
im.paste(cropedIm, (0, 0)) #将图片复制到另一张图片上
im.show()
#调整图片的大小
im = Image.open(r‘C:\Users\12271\Desktop\代码练习\python基础练习\test.png‘)
width, height = im.size
resizedIm = im.resize((width, height+(1920-1080)))
resizedIm.show()
#旋转和翻转图像
im = Image.open(r‘C:\Users\12271\Desktop\代码练习\python基础练习\test.png‘)
im.rotate(90).save(r‘C:\Users\12271\Desktop\代码练习\python基础练习\rotate90.png‘)
im.rotate(270).save(r‘C:\Users\12271\Desktop\代码练习\python基础练习\rotate270.png‘)
im.rotate(180).save(r‘C:\Users\12271\Desktop\代码练习\python基础练习\rotate180.png‘)
im.rotate(20).save(r‘C:\Users\12271\Desktop\代码练习\python基础练习\rotate20.png‘)
im.rotate(20, expand=True).save(r‘C:\Users\12271\Desktop\代码练习\python基础练习\rotate20_expand.png‘)
im.transpose(Image.FLIP_LEFT_RIGHT).save(r‘C:\Users\12271\Desktop\代码练习\python基础练习\transepose_lr.png‘)
im.transpose(Image.FLIP_TOP_BOTTOM).save(r‘C:\Users\12271\Desktop\代码练习\python基础练习\transepose_tb.png‘)
#图像过滤
from PIL import Image, ImageFilter
im = Image.open(r‘C:\Users\12271\Desktop\代码练习\python基础练习\test.png‘)
# 高斯模糊
im.filter(ImageFilter.GaussianBlur).save(r‘C:\Users\12271\Desktop\代码练习\python基础练习\GaussianBlur.png‘)
# 普通模糊
im.filter(ImageFilter.BLUR).save(r‘C:\Users\12271\Desktop\代码练习\python基础练习\BLUR.png‘)
# 边缘增强
im.filter(ImageFilter.EDGE_ENHANCE).save(r‘C:\Users\12271\Desktop\代码练习\python基础练习\EDGE_ENHANCE.png‘)
# 找到边缘
im.filter(ImageFilter.FIND_EDGES).save(r‘C:\Users\12271\Desktop\代码练习\python基础练习\FIND_EDGES.png‘)
# 浮雕
im.filter(ImageFilter.EMBOSS).save(r‘C:\Users\12271\Desktop\代码练习\python基础练习\EMBOSS.png‘)
# 轮廓
im.filter(ImageFilter.CONTOUR).save(r‘C:\Users\12271\Desktop\代码练习\python基础练习\CONTOUR.png‘)
# 锐化
im.filter(ImageFilter.SHARPEN).save(r‘C:\Users\12271\Desktop\代码练习\python基础练习\SHARPEN.png‘)
# 平滑
im.filter(ImageFilter.SMOOTH).save(r‘C:\Users\12271\Desktop\代码练习\python基础练习\SMOOTH.png‘)
# 细节
im.filter(ImageFilter.DETAIL).save(r‘C:\Users\12271\Desktop\代码练习\python基础练习\DETAIL.png‘)
以上是关于PIL的常见示例的主要内容,如果未能解决你的问题,请参考以下文章