summaryrefslogtreecommitdiff
path: root/warp-dir.sh
blob: 471efd98290891eb826d6eccec0a494345d40c3d (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
#!/bin/bash

BASENAME=tmp
DIRECTORY=$1
BS=$(basename $DIRECTORY)
files=`ls -1 $DIRECTORY`

prev="null"
ITER=0

SEQUENCE=`seq 0.00 0.05 0.999`

mkdir tmp/

for file in $files
do
  echo $file
  if [ $ITER -eq 0 ]
  then
    prev=$file
    ITER=$((ITER+1))
    continue
  fi

  convert -verbose "$DIRECTORY/$prev" PNG24:${BASENAME}_normalized_0.png
  convert -verbose "$DIRECTORY/$file" PNG24:${BASENAME}_normalized_1.png

  ./makeOptFlow.sh ${BASENAME}_normalized_%01d.png flow 0

  for scale in $SEQUENCE; do
    scale="${scale/,/.}"
    echo $scale
    th torch_warp.lua \
      -flow_file flow/backward_1_0.flo \
      -source_image ${BASENAME}_normalized_0.png \
      -output_image warp_0.png \
      -scale $scale
    th torch_warp.lua \
      -flow_file flow/forward_0_1.flo \
      -source_image ${BASENAME}_normalized_1.png \
      -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

    prev=$file
    ITER=$((ITER+1))
  done

  rm -rf flow/ ${BASENAME}_normalized*.png

  # rm -rf tmp/

done

ffmpeg -i tmp/frame_%05d.png -vcodec libx264 -pix_fmt yuv420p -profile:v baseline -level 3 "blended_${BS}.mp4"

cd tmp/
mkdir 256
for i in *; do convert $i -resize '256x256!' 256/$i; done
cd ..
mv tmp blended_${BS}