Python创建目录弥补cv2.imwrite()的不足

问题描述:实验中需要循环在多个目录中保存图片,用的是cv2.imwrite();本来想着会按照保存图片的路径这个参数自动创建文件夹,结果程序执行结束,没有找到目录及目录下照片,程序也没有报错!

cv2.imwrite(f'./test/test4/{test_dict[3]}/{i}.jpg',img_result)
Process finished with exit code 0

cv2.imwrite()不会自动创建未有的文件夹,并不会报错!如果目录不需要创建很多文件夹,建议保存图片前提前创建好文件夹。如果需要创建很多文件夹,觉得麻烦,可以在保存前先判读文件夹存在否,不存在就创建一个。
这里写了一个创建文件夹函数配合cv2.imwrite()使用:

import os
def makedir(dir_path):
	dir_path=os.path.dirname(dir_path)#获取路径名,删掉文件名
    bool=os.path.exists(dir_path)#存在返回True,不存在返回False
    if bool:
        pass
    else:
        os.makedirs(dir_path)

搭配cv2.imwrite():

path=f'./test/test4/{test_dict[3]}/{i}.jpg'
makedir(path)
cv2.imwrite(path,img_result)

不需要再手动创建大量文件夹了!

你可能感兴趣的:(小问题记录,python,opencv)