您的位置:首页 > 理论基础

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一次只获取 一个 匹配路径。

指定图片存储路径

Tips

im.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')
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: