Thursday, December 8, 2011

Animated gif

Pada bagian ini saya akan membahas bagaimana caranya menghasilkan animated gif seperti contoh di bawah ini pada Ubuntu-Linux (click untuk memperbesar).

Photobucket
Waveform Modeling untuk Model Marmousi

Capture suximage dari Model Marmousi dengan screen-capture tool favorit anda seperti Take Screenshot (save marmousi.png), lalu lakukan waveform modeling seperti yang telah saya bahas di sini.

Jika suxmovie telah aktif, maka lakukan langkah-langkah sbb:

1. sudo apt-get install recordmydesktop gtk-recordmydesktop
2. Applications > Sound & Video > Desktop recorder (sebuah file ogv akan terbentuk setelah anda menekan stop-kotak merah di atas monitor)

3. Convert ogv ke avi
mencoder -idx out.ogv -ovc lavc -oac mp3lame -o out.avi

4. Lakukan pemilihan rentang waktu yang akan dipilih (contoh mulai 0:02 detik sampai 8 detik berikutnya)
mplayer -ao null -loop 0 -ss 0:02 -endpos +8 out.avi

5. Jika anda setuju dengan tahap 4 lakukan destilasi file jpg
mplayer -ao null -ss 0:02 -endpos +8 out.avi -vo jpeg:outdir=moviepics

6. Ubah format jpg ke gif
gedit junk1.sh
#!/bin/sh
echo "#!/bin/sh" >> junk2.sh
for file in *.jpg
do echo "convert $file $(basename $file .jpg).gif" >> junk2.sh
done

Jalankan dengan sh junk2.sh

7. rename data sehingga filename menjadi sequential

a=1
for i in *.gif; do
new=$(printf "%0d.gif" ${a})
mv ${i} ${new}
let a=a+1
done


8. Lakukan merging antara gambar yang telah didestilasi dengan model marmousi. (args=50 adalah derajat transparansi).

gedit junk3.sh
#! /bin/sh
datamin=1
datamax=61
n=$datamin
while [ $n -le $datamax ]
do
convert marmousi.png $n.gif -alpha on -compose blend -define compose:args=50 -gravity South -composite merge$n.gif
n=$((n+1))
done


Jalankan dengan sh junk3.sh

9. Buat perintah animasi

gedit junk4.sh
#!/bin/sh
echo "#!/bin/sh" >> junk5.sh
echo "gifsicle --delay=10 --loop=1000 --colors 256 \\" >> junk5.sh
min=1
max=61
n=$min
while [ $n -le $max ]
do
echo "merge$n.gif \\" >>junk5.sh
n=$((n+1))
done
echo "> anim.gif" >> junk5.sh


10. sudo apt-get install gifsicle

11. Jalankan sh junk5.sh

No comments: