Python计算机视觉编程练习13:文件(夹)批量更名、图像批量resize

起因

深度学习,需要大量的测试样本和训练样本,从各处“搜刮”来的数据整合起来,容易遇到:图片名(文件夹)长度不一、中英文数字夹杂、图片尺寸不同等问题,导入深度模型无法正常载入图片。

例如:

文件夹包含中文、无序

这里写图片描述

图片包含中文

这里写图片描述

正题

废话不多说,上代码。。。


#!/usr/bin/env python
# -*- coding:utf-8 -*-

__author__ = "li"

"""
--------------------------------------
#   程序:文件(夹)批量更名、图像批量resize
#   版本:0.1
#   作者:li
#   日期:2016-03-11
#   语言:Python 2.7
--------------------------------------
"""

import os
from PIL import Image
from PIL import ImageFile
ImageFile.LOAD_TRUNCATED_IMAGES = True
from matplotlib.font_manager import FontProperties

font = FontProperties(fname=r'c:\windows\fonts\SimSun.ttc', size=14)

# 获取当前路径
path_abs = os.getcwd()
print u'*****************开始文件名更名操作*****************'
print path_abs
# 遍历当前路径下的文件以及文件目录
for root, dir_name, file_name in os.walk(path_abs):
    # 统计文件夹个数
    num_dir = len(dir_name)
    for idx, item in enumerate(dir_name):
        print u'第', idx, u'个文件正在更名......'
        item_new = 'test_' + '0' * (1 - idx / 10) + str(idx)
        # 原文件路径
        path_dir_old = path_abs + '\\' + item
        # print u'原文件路径:', path_dir_old
        # 新文件路径
        path_dir_new = path_abs + '\\' + item_new
        # print u'新文件路径:', path_dir_new
        # 更名操作
        os.renames(path_dir_old, path_dir_new)
print u'*****************进度报告:文件名更名完毕!*****************'

print u'*****************进度报告:开始图片名更名*******************'
for root1, dir_name1, file_name1 in os.walk(path_abs):
    num1_dir = len(dir_name1)
    for idx1, item1 in enumerate(dir_name1):
        path_dir1 = path_abs + '\\' + item1
        for root2, dir_name2, file_name2 in os.walk(path_dir1):
            for idx2, item2 in enumerate(file_name2):
                # 原路径 + 图片名
                item2_old = path_dir1 + '\\' + item2
                # 新路径 + 图片名(强制转换成jpg格式,数字6制定图片名长度以及0的填充个数)
                item_new2 = 'idx_'+ '0' * (5 - len(str(idx2))) + str(idx2)
                item2_new = path_dir1 + '\\' + item_new2 + '.jpg'
                # 更名
                os.rename(item2_old, item2_new)
                # resize 成指定尺寸大小
                img = Image.open(item2_new)
                img_new = img.resize((220, 220))
                # save 保存
                img_new.save(item2_new)

print u'*****************进度报告:图片更名操作完毕!******************'

效果

文件夹更名效果

这里写图片描述

图片resize+更名效果

这里写图片描述

终极福利

当然这种批处理软件超级多,也很好用呀,分享两个很赞的批处理软件,使用超级简单,就不在附录教程了。。。。多BB一句:不喜勿下啦
这里写图片描述

点击下载

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微风❤水墨

你的鼓励是我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值