python批量生成图像标签_Python-批量对于图像进行标签id重命名

根据得到的分类结果数据,对于给出的测试图像进行标签重命名:

测试集分类结果文件:stag_01_test.csv

测试图片文件夹:stag_01_test

##########图片重命名 Rename,设置标签##########

import os

ROOT_DIR = os.path.abspath("./")

img_path = os.path.join(ROOT_DIR, "stag_01_test")

imglist = os.listdir(img_path)

print('img_path',img_path)

0c502a5c048fe2b4b788bdc14f75d4a2.png

#########对于csv文件进行读取###############

import csv

t1 = open('stag_01_test.csv', 'r')

fileone = t1.readlines()

t1.close()

print(fileone[1])

print(fileone[1].strip().split(','))

print(fileone[1].strip().split(',')[0])

print(fileone[1].strip().split(',')[1])

8839d3f504ae1c6c337d7f003fbc13e6.png

###########标签解析##############

def result_(res):

if res=='airplane':

return 0

elif res=='ship':

return 1

elif res=='bridge':

return 2

elif res=='oilcan':

return 3

elif res=='build':

return 4

else:

return 5

i = 0

for img in imglist:

if img.endswith('.jpg'):

# print(i)

src = os.path.join(os.path.abspath(img_path), img) # original name

print('src',src)

#src /home/jovyan/work/data/gyx/Test_all/stag_01_test/0001.jpg

img_n = img[:-4]

print(img_n) #0001

filename=fileone[i+1].strip().split(',')#['0001.jpg', 'airplane']

if filename[0]==img:

id = int(result_(filename[1]))

else:

print('Wrong filename')

dst = os.path.join(os.path.abspath(img_path),img_n + '_%d'%(id) + '.jpg') # original name + _1

os.rename(src, dst) # rename==>recover the original name

i+=1

原始图像文件:

f77d9be5f66709fd170740ff188a4ea1.png

加上标签的图像文件:

4c76d8db6131b87a7a2bd83c607a67ac.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值