数据集批量打标——shell脚本批量生成文件并重命名

shell脚本批量生成文件并重命名

最近接到一个数据集标注的任务,使用的标注工具是LabelImg。使用前配置了环境Anaconda python=3.7 Linux,并在该环境下配置了pyqt5。
数据集里的图片是一段视频逐帧抽图,要求在图片中用方框框出要找的物体。由于是逐帧抽取,且要找的物体在很多图片中没有发生位置变化,因此在标注过程中希望写一个脚本进行批量处理。
LabelImg YOLO模式下每标记完一张图片,都会在指定位置生成一个相同名称的txt文件,记录了类别和位置信息(左上角和右下角的坐标)。数据集中的图片名称都是按顺序排列的数字字符名称,如:01222.jpg, 01223.jpg…标记后产生的标注文件则为:01222.txt, 01223.txt…如果复制其中的某一txt文件并重命名,如复制标注好的01223.txt为01224.txt,则在LabelImg的01224.jpg文件上也会显示与01223.jpg相同的标记。根据这一原理,如果连续若干张图片物体的位置都没有移动,就可以只标记一张图片,后面相同的就用脚本批量复制并重命名。
直接放代码。

#!/bin/bash

echo "batch copy..."

i=1
F=01223
R=$F

while [ $i -le 328 ]
do
   R=`expr $R + 1`
   cp -prvf $F.txt 0$R.txt
   i=`expr $i + 1`
done

F是开始文件的文件名, -le后面的数字是需要生成标注文件的数量。
0$R里面的0是因为文件以0开头,以数字类型处理时会被去掉,所以要补上。这个要根据实际情况修改。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值