Python计算机视觉编程练习4:glob模块学习

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走一波~~~

原文件不变,效果图指定存储~~~~

原图
Python计算机视觉编程练习4:glob模块学习_第1张图片
灰度图

获取图片列表名

返回指定路径下所有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')

你可能感兴趣的:(python,计算机视觉)