forked from RockStarCoders/alienMarkovNetworks
-
Notifications
You must be signed in to change notification settings - Fork 2
/
classifyAllImages.sh
executable file
·58 lines (47 loc) · 1.38 KB
/
classifyAllImages.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
55
56
57
58
#!/bin/bash
# Usage:
#
# classifyAllImages.sh <classifierFilename> <outDir> file1 file2 .... fileN
#
# Applies superpixel classifier to each of the images and puts the labelling result in the output dir.
# Absolute path for outDir recommended
#
# Example:
# ./classifyAllImages msrcFull_randForest_grid.pkl `pwd`/results/imagesClassified \
# ~/data/sceneLabelling/MSRC_ObjCategImageDatabase_v2/Images/*.bmp
#
function Usage() {
echo "Usage:"
echo " ./classifyAllImages.sh <classifierFilename> <outDir> file1 file2 .... fileN"
}
clfrName="$1"; shift
outDir="$1"; shift
if [ ! -d "$outDir" ]; then
echo "Error: output directory $outDir does not exist."
Usage
exit 1
fi
if [ ! -f "$clfrName" ]; then
echo "Error: classifier $clfrName does not exist"
Usage
exit 1
fi
# as we go, create a csv from labelled image to GT image
csvFn="$outDir"/evalpairs.csv
echo "" > "$csvFn"
logFn="$outDir"/log.txt
echo "" > "$logFn"
for file in $*; do
echo "Processing input image $file..."
echo "*" >> "$logFn"
echo "* Processing input image $file..." >> "$logFn"
echo "*" >> "$logFn"
ifn=$(basename "$file")
extn="${ifn##*.}"
ifnBase="${ifn%.*}"
ofn="$outDir"/"$ifn"
./testClassifier.py "$clfrName" "$file" --outfile "$ofn" >> "$logFn" 2>&1
# append to csv
echo "${ofn},${ifnBase}_GT.$extn" >> "$csvFn"
done
echo "All done"