-
Notifications
You must be signed in to change notification settings - Fork 1
/
label_images.sh
executable file
·54 lines (43 loc) · 1.24 KB
/
label_images.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/bin/bash
BASE_DIR=$(cd $(dirname $0); pwd -L)
source $(cd $(dirname $0); pwd -L)/common.sh
display_usage() {
echo "
Usage:
$(basename "$0") <path> [--help or -h]
Description:
Generates XML labelling per card jpg
Arguments:
path: path to your card folder (oracle id)
"
}
# check whether user had supplied -h or --help . If yes display usage
if [[ ( $1 == "--help") || $1 == "-h" ]]
then
display_usage
exit 0
fi
# Check the numbers of arguments
if [ $# -lt 1 ]
then
echo "Not enough arguments!" >&2
display_usage
exit 1
fi
if [ $# -gt 1 ]
then
echo "Too many arguments!" >&2
display_usage
exit 1
fi
folder=$1
for path in $(ls "$folder"/*.jpg)
do
filename=$(echo $path | awk -F "/" '{print $NF}')
full_path=$(pwd)/$path
width=$(identify -format '%w' $path)
height=$(identify -format '%h' $path)
normalized_card_name=$(echo $folder | awk -F "/" '{print $NF}')
xml_filename=$(echo $path | awk -F "." '{print $1".xml"}')
cat $BASE_DIR/xml_template.xml | sed 's#FOLDER_NAME#'$folder'#g'| sed s/FILE_NAME/"$filename"/g | sed 's#PATH#'$full_path'#g' | sed s/WIDTH/"$width"/g | sed s/HEIGHT/"$height"/g | sed 's#LABEL_NAME#'$normalized_card_name'#g' > $xml_filename
done