Python 图型处理笔记(不断更新中)

来源:互联网 发布:记忆碎片剧情解析知乎 编辑:程序博客网 时间:2024/04/26 08:19
Image 模块

Image 模块提供了同名的类用来表示PIL的图像。Image模块还提供了许多工厂(factory)函数,包块从文件加载图像的函数,以及创建新图像的函数。

下面对Image的一些操作记录

import Imageimport sysimport globimage_name = "./pic/qq.jpg"im = Image.open(image_name)#图像信息print im.format,im.size,im.mode  #>> JPEG (1366, 768) RGB  size = 100, 100#图片裁剪im1 = im.crop((60,5,110,43))#缩略图生成(会缩放)im.thumbnail(size, Image.ANTIALIAS)im.save("./pic/qq1.jpg",quality=100)  #改变图片大小#new_img = im.resize((128,128),Image.BILINEAR)#旋转图片#rot_img = new_img.rotate(45) #保存图片   #rot_img.save("./pic/qq1.jpg")  

批量生成缩略图

#!/usr/bin/env python#encoding=utf-8import Imageimport sys,osimport globsize = 100,100for infile in glob.glob("pic/*.jpg"):    file, ext = os.path.splitext(infile)    im = Image.open(infile)    im.thumbnail(size, Image.ANTIALIAS)    im.save(file + ".thumbnail"+ext, "JPEG")

下载远程图片并改大小

#coding=utf-8import Imageimport urllib2import StringIOimport os  #处理远程图片def handle_remote_img(img_url):    try:        request = urllib2.Request(img_url)        img_data = urllib2.urlopen(request).read()        img_buffer = StringIO.StringIO(img_data)        img = Image.open(img_buffer)        img.save('pic/remote.jpg')        (width,height) = img.size        out = img.resize((200,height * 200 / width),Image.ANTIALIAS)        out.save('pic/remote_small.jpg')    except Exception,e:        print e if __name__ == '__main__':    img_url = 'http://img.hb.aicdn.com/042f8a4a70239f724ff7b9fa0fc8edf18658f41022ada-WcItWE_fw554'    handle_remote_img(img_url)


原创粉丝点击