Tic商业评论

关注微信公众号【站长自定义模块】,定时推送前沿、专业、深度的商业资讯。

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

  • QQ空间
  • 回复
  • 收藏

python将图片打乱重新命名(rename)

lijingle 数据分析 2021-12-18 16:06 2763人围观

在深度学习中需要将相似的图片进行重新排序,即打乱,在训练的过程中模型也会将图片进行大乱,为了充分打乱,这里在训练前进行一次打乱。
这里图片命名如下:
[attach]362[/attach]

开头和结尾是以pos和neg开头,.jpg为结尾。图片如下所示:
[attach]363[/attach]
比较整齐排列,并且相近的图片很类似:

打乱代码如下:
# -*- coding:utf-8 -*-

import os

import random

class ImageRename():

    def __init__(self):

            self.path = '/home/lijingle/metro/0223_21/data/train'#图片所在文件夹

 

    def rename(self):

        filelist = os.listdir(self.path)

        random.shuffle(filelist)

        total_num = len(filelist)

 

        i = 0

        j = 0

 

        for item in filelist:

        if item.startswith('neg') and item.endswith('.jpg'):

            src = os.path.join(os.path.abspath(self.path), item)

            dst = os.path.join(os.path.abspath(self.path), 'neg0000' + format(str(i), '0>3s') + '.jpg')

            os.rename(src, dst)

            print ('converting %s to %s ...' % (src, dst))

            i = i + 1

        if item.startswith('pos') and item.endswith('.jpg'):

            src = os.path.join(os.path.abspath(self.path), item)

            dst = os.path.join(os.path.abspath(self.path), 'pos00' + format(str(j), '0>3s') + '.jpg')

            os.rename(src, dst)

            print ('converting %s to %s ...' % (src, dst))

            j = j + 1

        print ('total %d to rename & converted pos %d jpgs & converted neg %d jpgs' % (total_num, j, i))

 

if __name__ == '__main__':

    newname = ImageRename()

    newname.rename()

打乱结果如下:
[attach]365[/attach]




路过

雷人

握手

鲜花

鸡蛋
原作者: lijingle
我有话说......

TA还没有介绍自己。

电话咨询: 135xxxxxxx
关注微信