Python遍历文件夹下图像,读写freestyle

1、python遍历文件夹
首先介绍python下的 glob 模块:可以很方便的在进行图像批处理时遍历文件夹下所有图像。

#coding:utf-8
import glob as gb    #导入glob模块
import cv2

# 返回该路径下所有的 jpg 文件的路径
img_path = gb.glob("/Users/steven/PycharmProjects/AI/RPN/*.jpg")
    for path in img_path:
        img = cv2.imread(path)
       # 处理图像
        cv2.imshow("img", img)
        cv2.waitKey(1000)

这样就实现了文件夹下指定类型文件的遍历。但仅仅实现遍历功能一般并不能满足我们的要求,我们可能需要对一个文件夹下的图像批进行处理,再将处理后的图像按照原来的名称保存在另一个文件夹下,这时我们就需要用到分离文件目录的操、文件名、文件后缀的操作。

2、文件目录、文件名及文件后缀的分离及合并
在python下对文件目录和文件名进行分离和合并,可以借助 os 模块来轻松搞定。

#文件目录、文件名及文件后缀的分离
import os
file_path = "/Users/steven/PycharmProjects/AI/RPN/3425581_0.jpg"
(filepath,tempfilename) = os.path.split(file_path)
(filename,extension) = os.path.splitext(tempfilename)

filepath:文件的目录,即 /Users/steven/PycharmProjects/AI/RPN/
tempfilename:文件的全名,即 3425581_0.jpg
filename:文件的名字,即 3425581_0
extension:文件的扩展名,即 .jpg

#文件目录及文件名的合并
import os
img_savepath = "/Users/steven/PycharmProjects/AI/RPN/ROIS"
savepath = os.path.join(img_savepath, tempfilename)

savepath:处理后文件保存的完整路径
img_ savepath:处理后文件保存的目录文件夹名称
tempfilename:待保存的文件的全名

最后贴上完整的代码:

#coding:utf-8
import cv2
import numpy as np
import glob as gb

#对img_path目录下所有图像进行操作,处理后文件保存在img_ savepath目录下
img_path = gb.glob("/Users/steven/PycharmProjects/AI/RPN/*.jpg")
img_ savepath = "/Users/steven/PycharmProjects/AI/RPN/ROIS"

if __name__ == '__main__':
    for path in img_path:
        #分离文件目录,文件名及文件后缀、
        (img_dir, tempfilename) = os.path.split(path)
        img = cv2.imread(path)
       #对图像进行处理
        cv2.imshow("ROIS", img)
       # savepath为处理后文件保存的全路径
        savepath = os.path.join(img_savepath, tempfilename)
        cv2.imwrite(savepath, img)
        cv2.waitKey(1000)

你可能感兴趣的:(Python遍历文件夹下图像,读写freestyle)