实现Mask-Rcnn时需要用到。虽然网上发现有用代码实现https://blog.csdn.net/yql_617540298/article/details/81110685,但是发现转化后mask还是有问题。https://blog.csdn.net/l297969586/article/details/79140840/里提到的脚本方法启发了我,但命名有要求。经过查找,用gedit编了个脚本,对文件夹里的json文件批量转化,文件名不限制:
#!/bin/bash
dir=`ls /home/alex/github/Mask_RCNN-master1/imgrow/json/val/` #定义遍历的目录
path="/home/alex/github/Mask_RCNN-master1/imgrow/json/val/" #名字与上一行相同
for i in $dir
do
labelme_json_to_dataset ${path}$i
#echo $i
done
val文件夹是存放所有json文件的位置。
脚本取名genejson.sh。然后在程序位置运行终端,先改读写权限,
chmod u+x genejson.sh
然后,
./genejson.sh
就可以了。
如果在当前目录处理json文件,加个判断语句,用相对路径,这样:
#!/bin/bash
dir=`ls ./` #定义遍历的目录
path="./"
for i in $dir
do
file=$i
if [ "${file##*.}"x = "css"x ]||[ "${file##*.}"x = "json"x ]
then
labelme_json_to_dataset ${path}$i
#echo $i
fi
done