Anda di halaman 1dari 2

Situs Pengolahan Citra | Digital Image Processing

Memodifikasi data citra menggunakan Java

Pengantar Modifikasi citra merupakan suatu kebutuhan yang cukup penting dalam pengolahan citra. Untuk memodifikasi data citra, kita dapat mempergunakan fungsi-fungsi yang tersedia di BufferedImage. Tutorial singkat ini akan membahas mengenai struktur data pixel yang ada di BufferedImage. Dalam BufferedImage, salah satu method yang cukup penting adalah method readRGB. Kita akan mempergunakan method ini. Berikut ini adalah method signature untuk readRGB 1: public int getRGB(int x, int y)

x,y adalah koordinat dari citra yang ingin diambil grey levelnya.

Return value dari getRGB adalah beberapa nilai yang digabungkan dalam tipe data integer. Nilai-nilai tersebut adalah Alpha channel, Red, Green, Blue. Masing-masing nilai mempunyai besar data 8 bits atau 1 byte. Karena integer mempunyai besar data 4 byte, maka tipe ini sangat cocok untuk menyimpan keempat nilai tersebut. Posisi (data alignment) nilai tersebut adalah sebagai berikut (disajikan dalam bentuk heksadesimal).

Data Alpha Alpha Red Red Green Green Blue Blue

Poisisi byte 7 6 5 4 3 2 1 0

http://pengolahancitra.com

Powered by Joomla!

Generated: 12 March, 2012, 18:56

Situs Pengolahan Citra | Digital Image Processing

Sebagai contoh, misalkan ada sebuah pixel yang berwarna merah, maka data tersebut akan tertulis sebagai berikut dalam hexadecimal

1: 0xFFFF0000

2 F yang pertama merepresentasikan nilai alpha sebesar 255, 2 F yang kedua merepresentasikan nilai Red sebesar 255, 2 0 (nol) yang pertama merepresentasikan nilai Green sebesar 0, dan 0 yang terakhir mepresentasikan nilai blue sebesar 0.

Kita dapat mengambil nilai komponen tersebut dengan mengunakan operasi binary. Sebagai contoh, jika kita ingin mengambil nilai komponen green dari suatu pixel, kita dapat menuliskannya sebagai berikut.

1: int nilaiGreen; 2: nilaiGreen = (nilaiGreyLevel >> 8) & 0x000000FF;

Sebagai contoh, jika ada sebuah nilai grey level dari pixel adalah sebagai berikut.

1: 0xFFA56B7F

Kita tau bahwa nilai green dari pixel tersebut adalah 6B. Maka yang perlu dilakukan pertama kali adalah menggeser data tersebut sebanyak 8 bits. Ingat, 1 byte = 8 bits, dan setiap kolom pada hexadecimal mempunyai besar 4 bits. Jadi jika kita ingin menggeser 2 angka (6B) ke kanan, kita perlu menggeser 8 bits. Langkah berikutnya adalah menghilangkan data lainnya (komponen Alpha, dan Red ). Caranya adalah dengan menggunakan operasi AND. Otomatis, jika kita hanya memberikan nilai 1 pada 8 bits pertama (ingat, representasi binary untuk F hexadecimal adalah 1111), maka data yang lain hilang.

Untuk memodifikasi grey level dari suatu lokasi. Kita dapat menggunakan method setRGB.

Selamat Mencoba!

http://pengolahancitra.com

Powered by Joomla!

Generated: 12 March, 2012, 18:56

Anda mungkin juga menyukai