使用Python修改图片格式
此程序只需要在listfiles() 函数中输入根目录,就可以把目录下的所有图片格式统一为jpg格式,注意是(任意目录下的所有图片,不是指定目录),因为给出的是根目录,会把根目录下的所有目录中的所有图片全部更改格式,如果只想要更改指定的目录下的图片格式,其他目录的不变,那就在listfiles() 函数中输入详细的图片路径。
import os
import cv2
#测试代码用Opencv读取图片并显示
# img = cv2.imread('../images/smile/1.jpg')
# cv2.imshow('img',img)
# cv2.waitKey(0)
def listfiles(rootDir):
# 读取根目录下所有目录和文件
list_dirs = os.walk(rootDir)
# 遍历根目录下所有的目录和所有文件
for root, dirs, files in list_dirs:
for d in dirs:
print(os.path.join(root,d))
for f in files:
fileid = f.split('.')[0]
filepath = os.path.join(root,f)
# 防止有异常图片(不完整图片)如果有就删除
try:
src = cv2.imread(filepath,1)
print('src=',filepath,src.shape)
# 移除原有图片路径把图片更改格式保存
os.remove(filepath)
cv2.imwrite(os.path.join(root,fileid+'.jpg'),src)
except:
os.remove(filepath)
continue
if __name__ == '__main__':
listfiles('../test/images')