#!/bin/bash
root_dir="(自填)"
sub_dir='ImageSets/Main'
caffe_dir="(自填)"
for dataset in trainval train val test
do
dst_file=$root_dir/$dataset.txt
if [ -f $dst_file ]
then
rm -f $dst_file
fi
echo "Create list for $dataset..."
dataset_file=$root_dir/$sub_dir/$dataset.txt
img_file=$root_dir/$dataset"_img.txt"
cp $dataset_file $img_file
sed -i "s/^/JPEGImages\//g" $img_file
sed -i "s/$/.JPEG/g" $img_file
label_file=$root_dir/$dataset"_label.txt"
cp $dataset_file $label_file
sed -i "s/^/Annotations\//g" $label_file
sed -i "s/$/.xml/g" $label_file
paste -d' ' $img_file $label_file >> $dst_file
rm -f $label_file
rm -f $img_file
# Shuffle trainval file.
if [ $dataset == "trainval" ]
then
rand_file=$dst_file.random
cat $dst_file | perl -MList::Util=shuffle -e 'print shuffle(<STDIN>);' > $rand_file
mv $rand_file $dst_file
fi
# Generate image name and size infomation.
if [ $dataset == "test" ]
then
$caffe_dir/get_image_size $root_dir $dst_file $root_dir/$dataset"_name_size.txt"
fi
done