1、安装图像处理库
运行——cmd——输入Pip3 install pillow
2、图像缩放
from PIL import Image
img = Image.open("c:\\tmp2\\jpgs\\car1.jpg")
x,y = img.size #获取图像的宽和高(像素)
newImg = img.resize((x//2,y//2)) #缩小为原来的一半
newImg.save("c:\\tmp2\\jpgs\\car1_half.jpg") #保存
newImg.show() #显示图像文件
3、图像旋转 – 原地旋转
from PIL import Image
img = Image.open("c:\\tmp2\\jpgs\\car1.jpg")
newImg = img.rotate(45) #在原图上逆时针旋转 45度,可能导致部分内容消失
newImg.save("c:\\tmp2\\jpgs\\car1_45.jpg")
newImg.show()
4、图像翻转(镜像)
from PIL import Image
img = Image.open("c:\\tmp2\\jpgs\\car1.jpg")
newImg=img.transpose( Image.FLIP_LEFT_RIGHT) #左右翻转
newImg.save("c:\\tmp2\\jpgs\\car1_left_right.jpg")
newImg.show()
newImg=img.transpose( Image.FLIP_TOP_BOTTOM) #上下翻转
newImg.save("c:\\tmp2\\jpgs\\car1_top_bottom.jpg")
newImg.show()
5、批量处理图像文件
例如:把一个文件夹下的图片都旋转90度放到另一个文件夹里面
import os
from PIL import Image
lst = os.listdir("c:\\tmp2\\jpgs") #列出当前文件夹下所有文件和文件夹
for x in lst:
if os.path.isfile("c:\\tmp2\\jpgs\\" + x): #如果x是文件
if x.lower().endswith(".jpg") or
x.lower().endswith(".png"):
img = Image.open("c:\\tmp2\\jpgs\\" + x)
img = img.transpose(Image.ROTATE_90)
img.save("c:\\tmp2\\jpgs_90\\" + x[:-4] +
".png","png" ) #一律转成 png格式存
6、图像文件分量抽取
from PIL import Image
img = Image.open("c:\\tmp2\\jpgs\\car1.jpg")
r ,g, b = img.split() #分解出图像的 红、绿、蓝三种分量
newImg = Image.merge("RGB",(b,r,g)) #合并三个分量
newImg.show()
newg = g.point(lambda i:i*1.5)
#把绿色分量每个像素点的强度增加1.5倍,即增强绿色分量
newImg = Image.merge("RGB",(r,newg,b)) #合并三个分量,导致图片偏绿
newImg.show()
7、图像滤镜效果
from PIL import Image
from PIL import ImageFilter
img = Image.open("c:\\tmp2\\jpgs\\car1.jpg")
newImg = img.filter(ImageFilter.BLUR) #模糊效果
newImg.show()
ImageFilter.BLUR #模糊效果
ImageFilter.DETAIL #细节效果
ImageFilter.CONTOUR #轮廓效果
ImageFilter.EDGE_ENHANCE #边缘增强
ImageFilter.EMBOSS #浮雕
ImageFilter.FIND_EDGES #边界
ImageFilter.SMOOTH #平滑
ImageFilter.SHARPEN #锐化