python 进阶学习PIL 图像处理库学习

PIL 图像处理库学习:

  1. 图像归档(Image Archives)。PIL非常适合于图像归档以及图像的批处理任务。你可以使用PIL创建缩略图,转换图像格式,打印图像等
  2. 图像展示(Image Display)。PIL较新的版本支持包括Tk PhotoImage,BitmapImage还有Windows DIB等接口。PIL支持众多的GUI框架接口,可以用于图像展示。
  3. 图像处理(Image Processing)。PIL包括了基础的图像处理函数。

open(filename,mode)(打开一张图像)

from PIL import Image

im = Image.open('test001.png')   #     打开一个本目录图像文件
w, h = im.size                                  # 获得图像尺寸:
im.thumbnail((w//2, h//2))                     # 缩放到50%:(创建缩略图)
im.save('test002.png')    
#crop(  )(裁剪区域)
cut_pic = (50,100,300,200)
new_pic = im.crop(cut_pic)
new_pic.show()
im.crop()

(upper_left_x,upper_left_y,lower_right_x,lower_right_y),分别表示裁剪矩形区域的左上角x,y坐标,右下角的x,y坐标,规定图像的最左上角的坐标为原点(0,0),宽度的方向为x轴,高度的方向为y轴。

#   - Image.FLIP_LEFT_RIGHT,表示将图像左右翻转
#    - Image.FLIP_TOP_BOTTOM,表示将图像上下翻转
#    - Image.ROTATE_90,表示将图像逆时针旋转90°
#    - Image.ROTATE_180,表示将图像逆时针旋转180°
#    - Image.ROTATE_270,表示将图像逆时针旋转270°
#    - Image.TRANSPOSE,表示将图像进行转置(相当于顺时针旋转90°)
#    - Image.TRANSVERSE,表示将图像进行转置,再水平翻转
im_rotate = im.transpose(Image.ROTATE_270)   #表示将图像逆时针旋转
im_rotate.show()
#ImageSequence()(处理图像序列)  gif图像分解
gif = Image.open("100.gif")
for i,frame in enumerate(ImageSequence.Iterator(gif),1):
    if frame.mode == 'JPEG':
        frame.save("%d.jpg" %i)
    else:
        frame.save("%d.png" % i)
发布了96 篇原创文章 · 获赞 76 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/u010244992/article/details/104883383