Anda di halaman 1dari 7

INTEGRAL, Vol. 9 No.

1, Maret 2004

IMPLEMENTASI
TEKNIK
FEATURE
MORPHING PADA CITRA DUA DIMENSI
Luciana Abednego dan Nico Saputro
Jurusan Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas
Katolik Parahyangan, Bandung.
E-mail : nico@home.unpar.ac.id

Intisari
Pemanfaatan teknologi animasi semakin meluas seiring dengan semakin
mudah dan murahnya penggunaan teknologi tersebut. Pada tulisan ini, akan
dibahas salah satu teknik pembuatan animasi yaitu teknik feature morphing.
Pada feature morphing ada dua tahap pemrosesan, yaitu proses mengubah
bentuk gambar asal menjadi gambar tujuan (warping), dilanjutkan dengan
proses mengubah warna gambar (cross dissolve). Penggunaan garis-garis
feature membuat animasi yang dihasilkan dengan terlihat lebih alami.
Kata kunci : feature morphing, warphing, cross-disolve, proses invers

Abstract
This paper will discuss one of the animation making technique, i.e. feature
morphing technique.Feature morphing consist of two processing level, i.e.
process changing the shape of source image to the shape of target image
(warping) and process changing the color of source image to the color of
target image (cross disolve). The use of feature lines has made the animation
look more natural.
Keyword : feature morphing, warphing, cross-disolve, invers process
Diterima : 25 Februari 2004
Disetujui untuk dipublikasikan : 9 Maret 2004

1. Pendahuluan
Efek morphing adalah efek perubahan secara
perlahan-lahan suatu objek menjadi objek
lain. Dua tahap proses yang umumnya
terjadi di balik morphing adalah warping
dan cross dissolve. Warping merupakan
langkah pertama dari proses morphing.
Prinsip
kerja
warping
adalah
membentangkan (stretch) dan menyusutkan
(squeeze) sebuah gambar, yang disebut
gambar asal, sehingga hasilnya sama dengan
gambar tujuan. Cross dissolve adalah
langkah berikutnya setelah proses warping.
Prinsip kerjanya adalah memadukan warna
gambar asal dengan warna gambar tujuan.

36

Saat ini, banyak teknik morphing yang


telah dikembangkan untuk pembuatan
animasi. Umumnya, perbedaan antar teknik
morphing terletak pada proses warping.
Tulisan ini akan membahas tentang salah
satu teknik morphing, yaitu teknik feature
morphing.

2. Tweening
Sebelum membahas lebih lanjut tentang
teknik feature morphing, akan dibahas
terlebih dahulu salah satu konsep dalam
dunia animasi, yaitu tweening.

INTEGRAL, Vol. 9 No. 1, Maret 2004


2.1 Pengertian Tweening
Nama lain untuk tweening adalah
interpolasi. Melakukan interpolasi berarti
menyisipkan di antara (between) dua bagian
yang berbeda atau memperkirakan nilai dari
suatu fungsi antara dua nilai yang telah
diketahui [1]. Pada komputer grafik,
interpolasi digunakan untuk menggabungkan
beberapa efek yang ingin dilakukan pada
suatu obyek.
Ada beragam teknik interpolasi, salah
satu di antaranya adalah interpolasi linear.
Interpolasi linier paling sederhana, dengan
rumus :

Gambar 2.2 adalah contoh lain proses


tweening. Keadaan awal adalah sebuah garis
horizontal yang akan di-tweening menjadi
sebuah garis vertikal. Tweening dilakukan
dengan menarik sebuah garis lurus dari
kedua ujung garis frame 1 dan frame 2
seperti ditunjukkan pada gambar 2.3 sampai
gambar 2.5.

I (t ) = (1.0 t ) X start + t X end (2.1)

dengan t bernilai antara nol dan satu [2].

Gambar 2.3 Menghubungkan kedua ujung


garis

Gambar 2.1 Interpolasi linear antara dua


buah titik A dan B
Gambar 2.1 adalah contoh dari
interpolasi. Parameter t menunjukkan
seberapa jauh lokasi suatu titik pada garis
AB. Titik A sebagai titik awal (start), t=0
dan titik B sebagai titik akhir (end), t=1.
Untuk merekonstruksi data pada t=0.2, dari
persamaan 2.1 diperoleh:
I(0.2) = (1.0-0.2) x A + 0.2 x B
= 0.8 x A + 0.2 x B
Artinya, hasil interpolasi adalah 80% A
ditambah dengan 20% B, sehingga data yang
direkayasa lebih cenderung ke A daripada ke
B. Jika t=0.5, akan diperoleh 50% A dan
50% B. Semakin dekat ke B, semakin sedikit
kontribusi A dan semakin bertambah
kontribusi B. Pada t = 1.0, kontribusi A =
0% dan kontribusi B = 100% sehingga data
yang dihasilkan sama dengan B.
Dengan kata lain, interpolasi adalah rata-rata
dimana setiap data mempunyai bobot yang
tidak harus selalu sama. (weighted mean).

Gambar 2.4 Menghubungkan kedua


midpoint dengan menggambar garis baru
(in-between line)

Gambar 2.5 Dua garis tweening baru yang


digambarkan pada masing-masing sisi dari
garis tweening pertama.
Dari gambar 2.5, terlihat bahwa ada tiga
buah garis tween antara frame 1 dan frame 2.
Banyaknya garis tween yang dibuat

Gambar 2.2 Garis horizontal yang akan ditweening menjadi garis vertikal
37

INTEGRAL, Vol. 9 No. 1, Maret 2004


tujuan, begitu pula berlaku untuk pasangan
koordinat titik ujung akhir.

mempengaruhi
kehalusan
perubahan
gerakan.
2.2 Algoritma Tweening ( Interpolasi 2D )
Diberikan 2 buah titik : A(XA,YA) dan
B(XB,YB). Titik tengah (midpoint) M adalah:
M={

X A + X B Y A + YB
,
}
2
2

Secara umum, rumusan untuk memperoleh


koordinat titik tweening ke i dengan
melakukan N buah tweening dapat dilihat
pada persamaan 2.2.
i.(Y B Y A )
i.( X B X A )

, YA +
Ti = X A +

N
N

Gambar 3.1 Garis-garis feature untuk


membatasi feature- feature pada gambar
3.1 Proses Warping
Sebuah gambar terdiri atas kumpulan
titik. Dengan diketahui sebuah titik dan garis
feature, akan dicari posisi baru titik tersebut
jika garis feature-nya berubah. Proses
berlaku untuk seluruh titik dalam gambar.
Dengan memakai vektor untuk proses ini,
setiap titik dipengaruhi oleh garis feature
dengan aturan sebagai berikut :
1. Cari d, yaitu jarak antara sebuah titik
dengan garis feature dengan cara
membuat sebuah garis tegak lurus di
antara titik tersebut dengan garis feature
tadi. (lihat Gambar 3.2).
2. Cari f, yaitu jarak antara titik ujung garis
feature sampai ke garis yang tegak lurus
terhadap garis feature.
3. Pindahkan titik P ke tempat dengan
jarak d dan f tetap dari garis feature
pada gambar tujuan.

(2.2)
dengan 1 i N. Titik awal dengan nilai i=0
dan titik akhir dengan nilai i=N.
Waktu
eksekusi
untuk
operasi
penjumlahan pada komputer lebih cepat
dibandingkan dengan waktu eksekusi untuk
operasi perkalian. Untuk itu, rumusan di atas
dapat
diubah
menggunakan
operasi
penjumlahan dengan nilai increment D
(Delta array)

DX =
DY

(X B X A )
N

(Y YA )
= B

(2.3)

Setelah menambahkan nilai D ini sebanyak


N kali, titik A(XA,YA) bergeser menjadi
B(XB,YB) [1].

3. Teknik Feature Morphing


Animasi yang dibuat dengan teknik feature
morphing menerima masukan berupa dua
buah gambar. Gambar pertama disebut
sebagai gambar asal, gambar kedua disebut
sebagai gambar tujuan. Proses warping pada
teknik feature morphing menggunakan garis
feature sebagai alat bantu pemrosesan.
Kegunaan garis feature adalah untuk
menunjukkan sebuah feature (bagian-bagian
gambar yang membentuk obyek [2]) yang
sama antara daerah di gambar asal dengan
daerah di gambar tujuan. Adanya garis
feature membuat komputer mengetahui
hubungan antara dua objek yang sama pada
gambar asal dan gambar tujuan. Sebuah
garis feature di gambar asal memiliki
pasangannya di gambar tujuan. Koordinat
titik ujung awal garis feature pada gambar
asal berpasangan dengan koordinat titik
ujung awal garis feature pada gambar

Gambar 3.2 Hasil warping terhadap titik P


Gambar 3.2 memperlihatkan bahwa titik P
pada gambar asal akan mengalami proses
warping sehingga memiliki posisi baru di
titik P pada gambar tujuan. Langkahlangkahnya adalah sebagai berikut :
1. Garis feature pada gambar asal diubah
ke bentuk vektor menghasilkan vektor
AB. Cara yang sama untuk garis feature
pada gambar tujuan, menghasilkan
vektor AB.

38

INTEGRAL, Vol. 9 No. 1, Maret 2004


2. Buat vektor tegak lurus terhadap vektor
AB dengan panjang yang sama,
menghasilkan vektor AB1 :

5. Langkah kelima dilakukan jika panjang


proyeksi vektor AP ke vektor AB lebih
kecil dari nol atau lebih besar dari satu.
Hal ini dapat terjadi jika posisi vektor
AP tidak tegak lurus vektor AB seperti
terlihat pada gambar.

Gambar 3.3 Vektor AB1 tegak lurus vektor


AB
3. Hitung jarak d yaitu panjang vektor
yang didapat dengan memproyeksikan
vektor AP terhadap vektor AB1
(perhatikan : panjang AB1 = panjang
AB)

d=

AP AB1

Gambar 3.4 Jarak antara sebuah titik ke


garis feature
Dari gambar 3.4, titik A, B, dan C
memiliki skalar f yang bernilai antara
nol dan satu, sehingga jarak titik-titik
tersebut ke garis feature sama dengan
panjang vektor d. Sedangkan titik D
memiliki skalar f lebih besar dari satu.
Jarak dari titik ini ke garis feature harus
dihitung sebagai jarak antara titik D ke
control point akhir dari garis feature
(rd). Demikian pula jika skalar f suatu
titik lebih kecil dari nol, jarak titik
tersebut ke garis feature harus dihitung
sebagai jarak dari titik ke control point
awal dari garis feature.
6. Langkah keenam dilakukan jika dalam
proses warping, pemakai (user)
menggunakan lebih dari satu garis
feature. Misalkan digunakan dua buah
garis feature. Dari tiap garis, dihitung
jaraknya ke titik yang akan diproses.
Prosesnya sebenarnya sama seperti
digunakan sebuah garis feature, tetapi
kali ini terdapat dua buah pixel, bukan
satu, jadi diperlukan proses tambahan,
seperti yang ditunjukkan pada gambar
3.5. Dari titik asal P ke titik baru P1 dan
P2 terdapat dua kali pergeseran
(displacement), D1 dan D2 :
D1 = P1 ' P
(3.6 -3.7)
D2 = P2 ' P
Semakin jauh letak garis feature
terhadap suatu titik, semakin kecil
kontribusinya terhadap titik tersebut.
Begitu pula sebaliknya. Oleh karena itu,
muncul faktor bobot yang menunjukkan

(3.1)

| AB |

4. Hitung jarak f yaitu proyeksi vektor AP


terhadap vektor AB :

f =

AP AB
| AB |

Agar nilai f, berkisar antara nol dan satu,


maka dilakukan pembagian dengan
panjang vektor AB :

f =

AP AB
| AB | 2

(3.2)

Persamaan 3.1 dan 3.2 mentranslasikan


koordinat x dan y ke suatu bentuk
koordinat baru, yaitu koordinat d dan f.
Seperti halnya x dan y yang saling tegak
lurus, begitu pula halnya dengan d dan f.
Koordinat f dalam sistem koordinat baru
tersebut dapat didefinisikan sebagai
berikut :

f A ' B ' (3.3)


Sedangkan unit vektor d
didefinisikan sebagai berikut :

A' B'
| A' B' |

dapat

(3.4)

Jadi titik asal P ditransformasikan ke


titik tujuan P dengan rumusan :

P' = A'+ f * A' B'+ d *

A' B'
| A' B' |

(3.5)

39

INTEGRAL, Vol. 9 No. 1, Maret 2004


seberapa jauh titik asal dari masingmasing garis feature. Rumus untuk
menghitung faktor bobot ini adalah :
1
(3.8)
Wi =
alpha + d i
dengan alpha bernilai satu. Akibat
adanya
bobot
ini
menyebabkan
dihasilkannya posisi akhir, P :

P' = P +

3.3 Algoritma Feature Morphing


Secara keseluruhan, algoritma feature
morphing adalah sebagai berikut :
1. Menentukan jumlah frame gambar yang
ingin dihasilkan (misal, sebanyak n
frame gambar).
2. Mengerjakan proses warping sebanyak
n kali. Setiap kali, dua proses warping
dikerjakan, yaitu warping gambar asal
dan warping gambar tujuan.
3. Hasil warping gambar asal dan gambar
tujuan tersebut kemudian mengalami
proses cross dissolve untuk setiap frame
gambar.
Contoh algoritma dapat dilihat pada gambar
3.6. Terlihat gambar asal (trapezium) dan
gambar tujuan (persegi panjang) dilakukan
proses warping sehingga keduanya memiliki
bentuk yang sama. Selanjutnya digunakan
proses cross dissolve untuk menggabungkan
warna antara gambar asal dan tujuan.

D1W1 + D2W2
(3.9)
W1 + W2

Gambar 3.5 Jika ada dua buah garis feature,


titik hasil warping adalah rata-rata bobot
displacement D1 dan D2.
Terlihat titik baru terletak di garis antara P1
dan P2. Secara umum, bila ada n buah garis:
n

P' = P +

DW
i =1
n

(3.10)

W
i =1

3.2 Proses Cross Dissolve


Untuk memadukan dua buah warna,
perlu dihitung rata-rata bobot dari masingmasing warna primernya :

Gambar 3.6 Dua tahap dalam proses feature


morphing

4. Pengujian

w1 .r1 + w2 .r2
(3.11)
w1 + w2
w . g + w2 . g 2
(3.12)
g= 1 1
w1 + w2
w .b + w2 .b2
b= 1 1
(3.13)
w1 + w2
r=

4.1 Pengujian proses warping


Pada proses warping, setiap titik dapat
mengalami proses rotasi, translasi, dilasi dan
lain sebagainya. Akibatnya, muncul
beberapa kondisi diantaranya :
1. Ada titik-titik yang hilang karena
berada di luar ukuran gambar asal atau
gambar tujuan.
2. Terjadi titik-titik yang akibat proses
warping memiliki posisi baru yang
sama.
3. Gambar yang dihasilkan tidak penuh,
ada posisi yang kosong di pada
gambar.
Untuk mengatasinya dipakai proses invers.
Pada warping biasa, pengulangan proses
dilakukan pada gambar yang akan di warp
sehingga seolah-olah titik-titik pada gambar

dengan r1g1b1 dan r2g2b2 adalah warna


primer (merah, hijau, biru) untuk pixel
pertama dan kedua dan w1 dan w2 adalah
bobot untuk masing-masing pixel [1].
Jika bobot pixel pertama bernilai nol,
warna yang dihasilkan sama dengan warna
pixel kedua. Begitu pula jika sebaliknya,
jika faktor bobot kedua bernilai nol, warna
pixel pertamalah yang akan dihasilkan.

40

INTEGRAL, Vol. 9 No. 1, Maret 2004


dipetakan ke suatu tempat baru pada gambar
yang sama. Pada proses invers pengulangan
dilakukan pada suatu lembaran gambar
kosong yang akan menampung hasil proses
warping. Pada proses ini, garis-garis feature
pada lembaran kosong tadi menjadi garis
feature asal dan garis-garis feature pada
gambar yang akan di warp menjadi garis
feature tujuan. Setiap titik pada lembaran
kosong tadi dicari posisi padanannya pada
gambar yang akan di warp dengan algoritma
warping biasa. Titik tersebut kemudian diisi
dengan warna padanannya pada gambar
yang akan di-warp tadi.

4.3 Pengujian proses feature morphing.


Pengujian proses feature morphing
menunjukkan hasil yang baik dan lebih
alami. Pada gambar 4.4 (pada lampiran),
terlihat bentuk dan posisi feature-feature
yang terdapat pada gambar asal (gambar kiri
atas) secara perlahan berubah ke bentuk dan
posisinya di gambar tujuan (gambar kanan
bawah). Semakin banyak frame gambar
yang dibuat juga membuat animasi yang
dihasilkan semakin halus. Hal ini dapat
dibandingkan dengan melihat gambar 4.5
(pada lampiran) dengan 4 frame gambar dan
gambar 4.4 dengan 10 frame gambar.

5. Kesimpulan
Setelah dilakukan pengumpulan data,
analisis, perancangan, dan implementasi
diperoleh beberapa kesimpulan sebagai
berikut :
1. Animasi yang dihasilkan dengan teknik
feature morphing, lebih berkesan alami
dibandingkan
teknik
morphing
sebelumnya, yaitu teknik cross dissolve.
Semakin banyak garis feature, semakin
lama waktu proses tetapi semakin halus
dan alami animasi yang dihasilkan.
2. Semakin banyak frame gambar, semakin
lama waktu proses tetapi animasi yang
dihasilkan lebih berkesan alami.
3. Penempatan kombinasi garis feature
perlu dilakukan secara hati-hati karena
dapat mengakibatkan animasi yang
dihasilkan kurang begitu baik atau
bahkan buruk.

Gambar 4.1 Gambar asal dan gambar tujuan

Gambar 4.2 Gambar hasil warping biasa dan


memakai algoritma invers.
Terlihat pada gambar 4.2, gambar
disebelah kiri adalah hasil dari warping
biasa, menunjukkan adanya titik-titik hitam,
sedangkan gambar disebelah kanan adalah
hasil dari algoritma invers.

6. Daftar Pustaka
[1] Anderson, Scott, Morphing Magic 1st
Edition, Sams Publishing, 1993
[2] Nalwan, Agustinus, Movie and Special
Effect 2, Elex Media Komputindo,
2001
[3] Kerlow, Isaac, The Art of 3-D Computer
Animation and Imaging, Van Nostrand
Reinhold, 1996

4.2 Pengujian proses cross-disolve


Algoritma morphing yang pertama kali
dikembangkan adalah algoritma crossdisolve. Hasil pengujian proses cross-disolve
saja dapat dilihat pada gambar 4.3. (pada
lampiran)
Pada gambar 4.3.a terlihat gambar asal
perlahan-lahan menghilang menjadi gambar
tujuan (gambar 4.3.c). Animasi terlihat
kurang alami dan terlihat adanya empat buah
mata pada gambar transisi (gambar 4.3.b).

41

INTEGRAL, Vol. 9 No. 1, Maret 2004

Lampiran

(a)
(b)
(c)
Gambar 4.3 Hasil cross-disolve, (a) Gambar Asal, (b) Gambar transisi, (c) gambar tujuan

Gambar 4.4 Animasi feature morphing dengan 10 frame, kiri atas adalah gambar asal,
kanan bawah adalah gambar tujuan.

(a)
(b)
(c)
(d)
Gambar 4.5 Animasi feature morphing dengan 4 frame, (a) gambar asal, (b) dan (c)
gambar transisi, (d) gambar tujuan

42

Anda mungkin juga menyukai