pada hakikatnya sebuah citra digital adalah sebuah matriks warna yang memiliki rentang nilai 0 sampai 255. Tiap elemen matriks akan mewakili warna pixel pada posisi baris dan kolom tertentu. Dengan demikian, jika kita mengubah nilai, maka warna pixel akan mengalami perubahan pula. Pada aplikasi berikut, kita akan mencoba membuat sebuah citra menjadi lebih terang atau lebih gelap dengan menambah atau menurangi elemen matriks sebuah citra. Untuk menambah atau mengurangi elemen matriks, kita menggunakan sebuah slider agar aplikasi menjadi lebih fleksibel. Pembuatan aplikasi memerlukan langkah sebagai berikut:
Tampilkan sebuah figure kosong dengan GUIDE, kemudian buatlah beberapa komponen Obyek sebagai berikut:
- Static text
- Push Button
- Axes
- Slider
Setelah mengatur beberapa komponen diatas selanjutnya agar citra yang dibuka dapat diubah warnanya menjadi lebih terang atau lebih gelap, kita tambahkan script program berikut:
nilai_slider=get(handles.slider1,’value’);%menangkap nilai slider
num_citra=double(handles.citra1);%mengubah citra menjadi double preisi
[m n]=size(handles.citra1); % menentukan ukuran citra
for i=1:m
for j=1:n
num_citra(i,j)=num_citra(i,j) + nilai_slider;
if num_citra(i,j)>255 %jika elemen citra >255 jadikan 255(terang)
num_citra(i,j)=255;
end;
if num_citra(i,j)<0 %jika elemen citra <0 jadikan 0(gelap)
num_citra(i,j)=0;
end;
end;
end;
axes(handles.sb_citra_geser);
gambar=uint8(num_citra); %dibuat menjadi kelas int 8 bit.
imshow(gambar);
Dari kode di atas, kita dapat melihat adanya fungsi double yang digunakan untuk mengubah elemen matriks menjadi double. Fungsi size pada program diatas digunakan untuk menentukan ukuran atau dimensi sebuah matrik citra, dimana m merupakan baris matriks dan n sebagai kolomnya. Untuk mengubah citra menjadi lebih terang atau lebih gelap, statement yang berperan adalah:
num_citra(i,j)=num_citra(i,j) + nilai_slider;
citra akan berubah menjadi lebih gelap jika nilai_slider negatif dan sebaliknya, menjadi lebih terang jika nilai_slider positif. Kemudian, untuk membatasi agar nilai terang tidak melebihi 255( warna putih), kita menggunakan statement kondisi sebagai berikut:
if num_citra(i,j)>255 %jika elemen citra >255 jadikan 255(terang)
num_citra(i,j)=255;
end
Sebaliknya, untuk mengatasi agar nilai gelap tidak berkurang dari 0(warna hitam), statemennya adalah:
if num_citra(i,j)<0 %jika elemen citra <0 jadikan 0(gelap)
num_citra(i,j)=0;
end;
Pada prinsipnya, kita dapat membuat histogram dengan menghitung frekuensi munculnya sebuah nilai warna pada matriks sebuah citra. Karena nilai warna sebuah pixel memiliki rentang 0 sampai 255, kita harus mencari frekuensi munculnya nilai warna 0 sampai 255. Adapun kode programnya:
function [f]=histogram(cit)
[m n]=size(cit);
citra=double(cit);
for i=1:256, f(i)=0; end;
for j=1:m,
for k=1:n,
f(round(citra(j,k))+1)=f(round(citra(j,k))+1)+1;
end;
end;
Fungsi imhist( ) untuk menampilkan histogram sebuah citra, maka pada aplikasi sekarang kita menggunakan fungsi plot untuk menampilkan histogram citra berdasarkan fungsi histogram yang telah kita buat diatas. Setelah semua selesai jalankan program tersebut agar kita mendapatkan hasil sebagai berikut:

Jika kita mengubah slider dengan menggesernya ke kanan, maka akan memperoleh

Dengan cara yang sama, jika kita menggeser slider ke kiri, maka akan memperoleh:
