blob: abf107d0ea7fd9d1d59e37aedcd55ff137eba56d (
plain)
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
#!/bin/bash
BASENAME=tmp
ITER=1
FRAMES=200
A_DIR="A"
B_DIR="B"
POSITIONAL=()
while [[ $# -gt 0 ]]
do
key="$1"
case $key in
-f|--frames)
FRAMES=$(expr $2 + 0)
shift # past argument
shift # past value
;;
-s|--start)
ITER=$(expr $2 + 1)
shift # past argument
shift # past value
;;
-o|--output)
OUTPUT_DIR="$2"
BASENAME=$(basename $OUTPUT_DIR)
shift # past argument
shift # past value
;;
-a|--a_dir)
A_DIR="$2"
shift # past argument
shift # past value
;;
-b|--b_dir)
B_DIR="$2"
shift # past argument
shift # past value
;;
# --default)
# DEFAULT=YES
# shift # past argument
# ;;
*) # unknown option
POSITIONAL+=("$1") # save it in an array for later
shift # past argument
;;
esac
done
set -- "${POSITIONAL[@]}" # restore positional parameters
rm -rf tmp/
mkdir tmp/
echo $dirs
a=$(printf "%s/frame_%05d.png" $A_DIR $ITER)
b=$(printf "%s/frame_%05d.png" $B_DIR $((ITER + FRAMES)))
convert -verbose "$DIRECTORY/$a" PNG24:tmp_normalized_0.png
convert -verbose "$DIRECTORY/$b" PNG24:tmp_normalized_1.png
./makeOptFlow.sh tmp_normalized_%01d.png flow 0
STEP=$(bc -l <<< "1 / $FRAMES")
SEQUENCE=`seq 0.0 $STEP 1.0`
for scale in $SEQUENCE; do
scale="${scale/,/.}"
echo "${ITER}: ${scale}"
a_f=$(printf "%s/frame_%05d.png" $A_DIR $ITER)
b_f=$(printf "%s/frame_%05d.png" $B_DIR $ITER)
th torch_warp.lua \
-flow_file flow/backward_1_0.flo \
-source_image $a_f \
-output_image warp_0.png \
-scale $scale
th torch_warp.lua \
-flow_file flow/forward_0_1.flo \
-source_image $b_f \
-output_image warp_1.png \
-scale $(bc <<< "1.0-$scale")
OUT=$(printf "tmp/frame_%05d.png" $ITER)
convert warp_0.png warp_1.png -compose blend -define compose:args=$(bc <<< "100*$scale/1") -composite $OUT
rm warp_0.png warp_1.png
ITER=$((ITER+1))
done
rm -rf flow/ tmp_normalized*.png
ffmpeg -i tmp/frame_%05d.png -vcodec libx264 -pix_fmt yuv420p -profile:v baseline -level 3 "mixed_${BS}.mp4"
cd tmp/
mkdir 256
for i in *; do convert $i -resize '256x256!' 256/$i; done
cd ..
mv tmp mixed_${BS}
|