Thursday, July 26, 2007

Embedded teks ke dalam citra

Salah satu media yang sering dipakai untuk menyisipkan pesan/data adalah file image. Dalam contoh yang saya buat ini sengaja digunakan citra grayscale yang memiliki bentuk digital lebih sederhana jika dibandingkan dengan citra RGB. Pada citra grayscale, akan didapat sebuah matrik yang menunjukkan tingkat derajat keabuan dari masing-masing piksel. Sedangkan untuk citra RGB, akan didapat tiga buah matrik yakni matrik R, matrik G dan matrik B, tingkat R, G dan B dari citra. Metode penyisipan pesan yang dipakai adalah Least Significant Bit (LSB). Metode ini bekerja dengan cara mengganti bit terakhir dari masing-masing piksel dengan pesan yang akan disisipkan. LSB mempunyai kelebihan yakni ukuran gambar tidak akan berubah. Sedangkan kekurangannya adalah pesan/data yang akan disisipkan terbatas, sesuai dengan ukuran citra.
Citra sebelum disisipi pesan

Citra setelah disisipi pesan

Jika diperhatikan, penggantian bit terakhir tersebut tidak terlalu berpengaruh terhadap derajat keabuan citra. Maka dua gambar diatas gak beda kan..... Tapi kalo gambar yang bawah diekstrak, maka akan didapat pesan yang berbunyi : Rajin-rajinlah belajar# Tanda # digunakan buat mengakhiri pesan. Ada tiga kemungkinan yang terjadi setelah penggantian bit terakhir, yakni:
  1. Nilainya derajat keabuan tetap
  2. Nilai derajat keabuan berkurang 1
  3. Nilai derajat keabuan bertambah 1
Perubahan yang sedemikian kecil tersebut tidak mungkin akan dirasakan secara kasat mata, sehingga citra sebelum dan setelah disisipi pesan tidak akan nampak terjadi perubahan. Untuk sourcenya ditulis dengan MatLab tapi gak sempet upload.... habisnya ngeditnya lamaaaaa...... Tapi sementara baru aku buat untuk format BMP.