"""
@FileName:transport_picture.py
@Description:图像转换器
@Author:段鹏浩
@Time:2023/3/18 21:16
"""
import cv2 as cv
import os
def transport_p(f, s, p, n=".png"):
"""f, s, p, n 分别是图片所在文件夹路径,保存的目标路径和图片尺寸还有格式"""
f_name = f # 这里是图片的文件夹位置
save_path = s # 图片保存的文件夹具体路径
if not os.path.exists(f_name):
print(f"路径{f_name}是无效路径")
return
if not os.path.isdir(save_path):
os.makedirs(save_path)
p_size = p # 这里转换后的图片大小
names = os.listdir(f_name) # 读取里面的全部文件
number = int(len(names)) # 图片个数
m = 0 # 记录一下图片的个数
for i in range(number):
picture = os.path.join(f_name, names[i]) # 获取图片路径
# 转换图片
if os.path.exists(picture):
img = cv.imread(picture)
img = cv.resize(img, p_size) # 转换图片大小
# name = names[i] # 使用原本文件名字且不改变文件格式
name = str(i) + n # 用循环的数字做名字
s_p = os.path.join(save_path, name)
cv.imwrite(s_p, img)
m += 1
print("\r" + f"一共有{number}张图片,目前已经转换:{m}张图片", end="", flush=True)
else:
print(f"\n图片:{picture},不存在\n")
print(f"\n转换完成,成功转换了{m}张图片,有{number - m}张图片转换失败")
if __name__ == "__main__":
f = "D:/dcdbs/images" # 图片所在路径
s = "D:/dcdbs/images2" # 图片的保存路径
p = (500, 500) # 图片的目标尺寸
n = ".png" # 可以支持全部格式的转换,只需要在这里定义就行
transport_p(f, s, p, n)
这是一个简单图片文件格式转换器,在pycharm里面配置好环境就可以运行。文件支持批量转换图片,只需要自定义下面的f,s,p,n即可。