1-python图像处理之PIL,pylab
2016-12-30 21:34
381 查看
python计算视觉学习基础,PIL和pylab类库的简单使用,
一. 读图与显示
1.使用pylab中的 imread() 读图
或者使用PIL中Image的open()方法
2.显示使用pylab中的 imshow()
或者 使用Image中的类(和上面不一样)
测试用例:
二. 新建窗口
使用 pylab 中的 figure()
试了下,貌似只能和imshow(img)一块使用(python专用的图片查看器)
三. 将图片转存:
PIL中提供save()方法用来存储多种格式的文件,
测试用例:
PIL 的open() 函数用于创建PIL 图像对象,save() 方法用于保存图像到具有指定文
件名的文件。除了后缀变为“.jpg”,上述代码的新文件名和原文件名相同。PIL 是
个足够智能的类库,可以根据文件扩展名来判定图像的格式。PIL 函数会进行简单
的检查,如果文件不是JPEG 格式,会自动将其转换成JPEG 格式;如果转换失败,
它会在控制台输出一条报告失败的消息。
图片文件的操作,返回目录下指定文件类型文件名的列表
四. 创建缩略图
PIL提供了 thumbnail((128,128))方法,可以直接使用图片对象进行调用
五.复制和粘贴图片的区域
PIL中提供了crop()方法可以从一张图片中裁剪某一区域
然后使用可以使用 paste() 方法将该区域放回去
六. 调整尺寸和旋转
1.调增尺寸:PIL中提供了 resize() 方法
2.旋转:
使用rotate()方法,注意:逆时针方式表示旋转角度
测试案例:
案例结果:
一. 读图与显示
1.使用pylab中的 imread() 读图
img = imread('图片路径')
或者使用PIL中Image的open()方法
img = Image.open('图片路径')
2.显示使用pylab中的 imshow()
imshow(img)
或者 使用Image中的类(和上面不一样)
img.show()
测试用例:
#coding=utf-8 # # 图片的读取和显示 from PIL import Image import pylab as plb #读图1 img = Image.open('test1.jpg') #使用默认图片打开软件打开 img.show() #灰度化 grayimg = img.convert('L') #注意:每次只能显示一张图片,需要关闭上一张 grayimg.show() #使用python专用的打开图片的软件 plb.imshow(img) #防止一闪而过 plb.show()
二. 新建窗口
使用 pylab 中的 figure()
试了下,貌似只能和imshow(img)一块使用(python专用的图片查看器)
三. 将图片转存:
PIL中提供save()方法用来存储多种格式的文件,
测试用例:
#coding=utf-8 from PIL import Image import os #可同时转存多张 filelist = ['F:/myPythonWork/PIL/test1.jpg']; for infile in filelist: outfile = 'outfile' + ".jpg" if infile != outfile: try: Image.open(infile).save(outfile) except IOError: print "cannot convert", infile
PIL 的open() 函数用于创建PIL 图像对象,save() 方法用于保存图像到具有指定文
件名的文件。除了后缀变为“.jpg”,上述代码的新文件名和原文件名相同。PIL 是
个足够智能的类库,可以根据文件扩展名来判定图像的格式。PIL 函数会进行简单
的检查,如果文件不是JPEG 格式,会自动将其转换成JPEG 格式;如果转换失败,
它会在控制台输出一条报告失败的消息。
图片文件的操作,返回目录下指定文件类型文件名的列表
import os def get_imlist(path): """ 返回目录中所有JPG 图像的文件名列表""" return [os.path.join(path,f) for f in os.listdir(path) if f.endswith('.类型')]
四. 创建缩略图
PIL提供了 thumbnail((128,128))方法,可以直接使用图片对象进行调用
#将图片的大小转化为100*100(单位貌似是像素) img.thumbnail((100,100))
五.复制和粘贴图片的区域
PIL中提供了crop()方法可以从一张图片中裁剪某一区域
#四个元素的元组,分别是左上右下(左上,右下) box = (100,100,400,400) region = pil_im.crop(box)
然后使用可以使用 paste() 方法将该区域放回去
#旋转180度 region = region.transpose(Image.ROTATE_180) #放回原处 pil_im.paste(region,box)
六. 调整尺寸和旋转
1.调增尺寸:PIL中提供了 resize() 方法
#将图片 pil_im的大小设为 100*100 out = pil_im.resize((100,100))
2.旋转:
使用rotate()方法,注意:逆时针方式表示旋转角度
#逆时针旋转45度 out = pil_im.rotate(45)
测试案例:
#coding=utf-8 #使用PIL类库中常见的方法制作一个小案例 # #读取一张图片,将图片中一部分进行旋转, #然后整体旋转,最后显示并存储在C盘中 # from PIL import Image import pylab as plb import os #存储图片 def saveImg(img,type): try: img.save('C:/test/testr.' + type) except IOError: return False return True img = Image.open('test1.jpg') #转化为二值图像 grayImg = img.convert('L') ''' #显示 默认图片浏览器 grayImg.show() ''' #设置缩略图 # imgchange1 = grayImg.thumbnail((100,100)) box = (20,20,130,130) imgchange2 = img.crop(box) imgchange2 = imgchange2.transpose(Image.ROTATE_180) grayImg.paste(imgchange2,box)#注意返回值不是图片或者矩阵类型 #显示为灰色 注意:不加的话会显示伪彩色,一种特殊的彩色 plb.gray() #显示 python专用图片浏览器 plb.figure('demo') #设置窗口信息 plb.title('demo1') plb.imshow(grayImg) #防止一闪而过 plb.show() if saveImg(grayImg,'jpg'): print 'ok'
案例结果:
相关文章推荐
- 1-python图像处理之PIL,pylab
- 在python3下用PIL做图像处理
- gimp的python控制台以及python的PIL图像处理库
- Python图像处理之PIL模块
- Python图像处理库 PIL
- Python图像处理PIL库简介
- PIL-python的图像处理模块
- 在python3下用PIL做图像处理
- 在python3下用PIL做图像处理
- Python图像处理库(PIL)的安装与简单使用
- gimp的python控制台以及python的PIL图像处理库
- Python图像处理库(PIL)--简介和基本概念
- Python 之 使用 PIL 库做图像处理
- python使用PIL库做图像处理
- Python 之 使用 PIL 库做图像处理
- Python图像处理库:PIL中Image,ImageDraw等基本模块介绍
- 在python3下用PIL做图像处理
- python(pil)图像处理(等比例压缩、裁剪压缩) 缩略(水印)图
- [Python] 图像简单处理(PIL or Pillow)
- Windows安装Python图像处理库:PIL模块