转载:https://blog.csdn.net/gongzi123/article/details/86669036
实现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