Python计算机视觉编程练习4:glob模块学习
2015-11-11 19:10
661 查看
glob模块简介
glob模块可以查找符合特定规则的文件路径名。查找文件只用到三个匹配符:"*","?","[]"。”*”匹配0个或多个字符;”?”匹配单个字符;”[]“匹配指定范围内的字符,如:[0-9]匹配数字。
glob.glob
功能:返回 所有匹配 的文件路径列表。参数:只有一个参数pathname,定义了文件路径匹配规则,这里可以是绝对路径,也可以是相对路径。
#python import glob """ 示例1 """ print glob.glob(r'D:\Exp\Python\test1\raw_images\*.jpg') """ 示例2 """ for f in glob.glob(r'D:\Exp\Python\test1\raw_images\*.jpg'): print f
glob.iglob
功能:获取 一个 可编历对象,使用它可以逐个获取匹配的文件路径名。区别:glob.glob同时获取 所有 的匹配路径,而glob.iglob一次只获取 一个 匹配路径。
指定图片存储路径
Tipsim.save(outfile, options…) im.save(outfile, format, options…) """ outfile=os.path.join(路径,图像文件名) """
有了上面的tips,剩下的妥妥的~~~
#python #!/usr/bin/env python # -*- coding:utf-8 -*- """ 指定图片存储路径,以RGB转换灰度图为例 RGB原图放在raw_images文件夹下,转换后的灰度图要求存放在images文件夹下。 """ import os import glob from PIL import Image def convert_to_grayscale(infile,outdir): im = Image.open(infile).convert('L') im.save(os.path.join(outdit,os.path.basename(infile))) print u'图像转换完毕!' for infile in glob.glob(r'D:\Exp\Python\test1\raw_images\*.jpg'): convert_to_grayscale(infile,r'D:\Exp\Python\test1\images')
Shift+F10走一波~~~
原文件不变,效果图指定存储~~~~
原图
灰度图
获取图片列表名
返回指定路径下所有jpg图像文件名列表case1 : 返回包括路径+文件名
case2:返回文件名
#python #!/usr/bin/env python # -*- coding:utf-8 -*- import os from PIL import Image def get_imlist(path,case = 1): """ 返回指定路径下所有jpg图像文件名列表 case1:返回包括路径+文件名 case2:返回文件名 """ if case == 1: return [os.path.join(path,f) for f in os.listdir(path) if f.endswith('.jpg')] else: return [os.path.join('',f) for f in os.listdir(path) if f.endswith('.jpg')] imlist1 = get_imlist(r'D:\Exp\Python\test1\raw_images') imlist2 = get_imlist(r'D:\Exp\Python\test1\raw_images',2)
当然刚才提到的glob模块也是可以实现的
#python #!/usr/bin/env python # -*- coding:utf-8 -*- import glob imlist = glob.glob(r'D:\Exp\Python\test1\raw_images\*.jpg')
相关文章推荐
- 新建Linux虚拟机初始化网络等设置
- 数据结构学习笔记:顺序表
- BAT解密:互联网技术发展之路(7)- 网络层技术剖析2
- TCP协议疑难杂症全景解析
- QT网络相关
- Java for Web学习笔记(五):Servlet(3)HttpServletRequest
- 神经网络编程入门
- 关于HttpSession的理解
- BP神经网络算法推导
- iOS 用CornerStone配置SVN,HTTP及svn简单使用说明
- Nginx HttpSubModule sub_filter模块的过滤功能
- Play framework 2.0 -http表单提交和表单验证
- 从零开始学习Node.js例子七 发送HTTP客户端请求并显示响应结果
- 网络访问层
- BAT解密:互联网技术发展之路(7)- 网络层技术剖析
- HTTP Content-type 对照表
- 字符编码附属乱码篇
- 完美配置Tomcat的HTTPS
- svn: E175002: can not read HTTP status line
- http://www.cnblogs.com/wuyuegb2312/p/3248705.html