[digital image processing] April 14, 2012
BIT-PLANE SLICING
Bit-Plane Slicing merupakan metode yang digunakan untuk melihat kontribusi atau pengaruh dari tiap bit penyusun citra. Untuk citra 8 bit, pada dasarnya tiap intensitas yang nilainya dalam format desimal, bisa dipecah menjadi bit-bit dalam format biner. Misalnya, sebuah piksel dengan intensitas 245 (desimal) bila dijadikan biner adalah 11110101. Dengan nilai LSB (least significant bit berada di paling kanan) dan sebaliknya untuk MSB (most significant bit). Perhatikan gambar di bawah yang merupakan ilustrasi dari bit slicing pada piksel citra.
Untuk memahami metode ini, kita berikan sebuah contoh. Misalkan saya punya potongan citra grayscale yang berukuran 2 x 2 seperti di bawah
= 214235 212254 Bila nilai-nilai intensitas tersebut diubah ke dalam biner akan dihasilkan
111010 1011 111 1110000 000011 = 111110 111011 1111100 Nah yang akan kita lakukan adalah secara berurutan mengambil bit-bit untuk tiap-tiap intensitas dan dimasukkan ke dalam matriks baru. Sehingga anda bisa menebak bahwa kita akan mendapatkan 8 buah matriks baru yang berisi bit -bit dari urutan yang sama. Untuk kasus A di atas, maka jika saya ambil slice – 0 dan slice – 1, maka akan terbentu 2 matriks baru yakni:
[email protected]
Page 1
[digital image processing] April 14, 2012
= 11 10 = 01 00 There you go...
1 1 1 1 0 1 0 1 ... MSB
LSB
(slice-7)
(slice-0)
Bila anda melanjutkan, maka tentu anda akan mendapatkan 6 matriks baru lagi sehingga total menjadi 8 matriks baru bukan??? Nah tiap slice tersebut sudah menjadi citra biner dengan sendirinya. Dengan demikian, kita bisa melihat hasil dari slicing tersebut. Tiap slice akan memberikan informasi sendiri sehingga apa yang kita lakukan akan menunjukkan kontribusi tiap-tiap slice. Dengan demikian, jika diinginkan bahkan kita bisa menggunakan metode ini sebagai metode kompresi citra. Walaupun dengan hasil yang kurang bagus. Tapi kita bisa dengan tidak hanya memanfaatkan 1 slice saja, kita bisa menggabungkan beberapa slice untuk mendapatkan citra baru tetapi ukurannya masih lebih kecil ketimbang citra asli. Perhatikan hasil slicing yang saya lakukan di bawah terhadap gambar ini:
[email protected]
Page 2
[digital image processing] April 14, 2012
Hasil slicing nya adalah
Program nya dalam Matlab clear all; all; close all all; ; clc; %% filename='rupiah1.jpg' filename='rupiah1.jpg' ; A=imread(filename); [x,y,z]=size(A); if z>1 A=rgb2gray(A); end subplot(3,3,1); imshow(A); title('Original title('Original Image' ); % preparing matrix data A=reshape(A,1,x*y); A_bin=dec2bin(A,8); % take binary ss=zeros(x,y); L=8; k=1; while k<=L s=reshape(A_bin(:,k),x,y); for m=1:x for n=1:y ss(m,n)=str2double(s(m,n)); end end % sk{k}=ss; subplot(3,3,k+1);
[email protected]
Page 3
[digital image processing] April 14, 2012 imshow(sk{k}); title(strcat('Bit title(strcat('Bit Slice- ',num2str(k))); ' ,num2str(k))); k=k+1; ss=[]; end %%
Program di atas agak sedikit lambat untuk proses karena penggunaan looping dan pengubahan string ke double yang dilakukan untuk tiap piksel. Tapi sebenarnya bukan sebuah permasalahan... ☺
Saya rasa demikian artikel ini. Semoga bisa membantu anda untuk mengerti apa dan bagaimana itu Bit-Plane Slicing...
@ thanks...
Sources: Digital Image Processing, Gonzalez...
[email protected]
Page 4