给定图像集如下,所有类别的图片均在一个文件夹内:
给定与图片名相匹配的表格,声明每张图片对应的类别(共有20个类别):
那么,如何根据表格中所给的类别将图片分入对应的文件夹内呢?以我的情况为例,我想将图片分为20类(category_id有0-19共20类),可利用下面的代码进行分类(经细心网友指正,代码已做出修改)。
1
2
3
4
5
|
#引入相关库
import pandas as pd
import os
import shutil #用于移动文件
|
1
2
3
4
5
|
#打开表格文件并读取
f = open ( "list.csv" , "rb" ) #输入表格所在路径+名称
list = pd.read_csv(f)
list [ "file_id_jpg" ] = ".jpg" #建立图片名与类别相对应
list [ "file_id1" ] = list [ "file_id" ] + list [ "file_id_jpg" ] #建立图片名与类别相对应
|
1
2
3
|
#创建文件夹
for i in range ( 20 ):
os.mkdir( str (i))
|
1
2
3
4
5
6
7
|
#进行分类
for i in range ( 0 , 20 ):
listnew = list [ list [ "category_id" ] = = i]
l = listnew[ "file_id1" ].tolist()
j = str (i)
for each in l:
shutil.move(each,j)
|
大功告成!
以上这篇使用python将图片按标签分入不同文件夹的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/LaoChengZier/article/details/80254393