Histogram Citra

Histogram merupakan suatu bagan yang menampilkan distribusi intensitas dalam indeks atau intensitas warna citra. Matlab menyediakan fungsi khusus untuk histogram citra, yaitu imhist(). fungsi imhist menghitung jumlah piksel-piksel suatu citra untuk setiap range warna(0-255). Perlu diingat bahwa fungsi imhist dirancang untuk menampilkan histogram citra dengan format abu-abu (grayscale). Oleh karena itu, agar bisa menampilkan histogram RGB, maka perlu memodifikasi fungsi imhist.

Desain Figure Histogram.fig

Sebagai langkah awal didalam pembuatan histogram,kita membuka figure kosong dengan mengetikan  >> guide pada Command Window. Kemudian pilihlah Blank GUI(Default),lalu klik OK. Sebelumnya dilanjutkan,ada baiknya kita simpan figure kosong dengan mengklik File->Save As. Berinama Histogram pada File name. Setelah kita mengklik Save, figure kosong akan berganti nama Histogram.fig.

Selanjutnya, kita mendesain figure Histogram dengan menyusun beberapa komponen berikut:

  1. figure
  2. pushbutton
  3. Static text
  4. Edit text
  5. axes

Pengaturan properti komponen dapat dilakukan dengan mengklik kanan komponen, lalu memilih Property Inspector. Jika semua komponen dan propertinya sudah sesuai dan lengkap, maka simpanlah figure dengan mengklik File->Save. Sampai tahap ini, aplikasi GUI hanya sebagai tampilan belum bisa berinteraksi dengan pengguna. Oleh karena itu, kita perlu menuliskan beberapa perintah atau fungsi agar komponen-komponen dapat berjalan sesuai dengan keinginan. Untuk menuliskan perintahnya, kita akan memanfaatkan fungsi callback. Cara memanggil fungsi callback adalah sebagai berikut: klik kanan pushbutton->klik View Callbacks-> klik Callback.

Setelah keluar jendela Editor,ketiklah perintah berikut.

% — Executes on button press in btnbrowse.
function btnbrowse_Callback(hObject, eventdata, handles)
% hObject    handle to btnbrowse (see GCBO)
% eventdata  reserved – to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
proyek=guidata(gcbo);
[namafile,direktori]=uigetfile({‘*.jpg’;'*.bmp’;…
‘*.png’;'*.tif’},’Buka Gambar’);
I=imread(namafile);
set(proyek.fighistogram,’currentAxes’,proyek.axes1);
set(imshow(I));

info=imfinfo(namafile);
set(proyek.enama,’String’,info.Filename);
set(proyek.eukuran,’String’,info.FileSize);
set(proyek.eformat,’String’,info.Format);
set(proyek.elebar,’String’,info.Width);
set(proyek.etinggi,’String’,info.Height);
set(proyek.ebit,’String’,info.BitDepth);
set(proyek.ewarna,’String’,info.ColorType);
set(proyek.etanggal,’String’,info.FileModDate);
set(proyek.fighistogram,’Userdata’,I);
set(proyek.ebit,’Userdata’,info.BitDepth);

% — Executes on button press in btnhisto.
function btnhisto_Callback(hObject, eventdata, handles)
% hObject    handle to btnhisto (see GCBO)
% eventdata  reserved – to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
proyek=guidata(gcbo);
I=get(proyek.fighistogram,’Userdata’);
bit=get(proyek.ebit,’Userdata’);
figure;
if bit==8
subplot(1,1,1);
imhist(I(:,:,1));
title(‘Histogram Intensitas Warna Grayscale’);
else
subplot(3,1,1);
imhist(I(:,:,1));
title(‘Histogram Intensitas Warna Merah(R)’);
subplot(3,1,2);
imhist(I(:,:,2));
title(‘Histogram Intensitas Warna Hijau(G)’);

subplot(3,1,3);
imhist(I(:,:,3));
title(‘Histogram Intensitas Warna Biru(B)’);
end

% — Executes on button press in btnkeluar.
function btnkeluar_Callback(hObject, eventdata, handles)
% hObject    handle to btnkeluar (see GCBO)
% eventdata  reserved – to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
respon=keluar(‘Title’,'Konfirmasi Keluar’);
switch lower(respon)
case ‘tidak’
%tidak ada aksi
case ‘ya’
%menutup jendela aplikasi gui
delete(handles.fighistogram)
end

Penjelasan

variabel proyek digunakan untuk menyimpan data aplikasi histogram. Fungsi uigetfile( ) digunakan untuk membuka file. Fungsi uigetfile menghasilkan dua keluaran, yaitu variabel nama file dan variabel direktori. Variabel nama file digunakan untuk menyimpan nama file yang dibuka dan variabel direktori digunakan untuk menyimpan path direktori. Agar file grafik dapat dibaca, kita gunakan fungsi imread( ) dan untuk menampilkan citra, kita menggunakan fungi imshow( ). Namun ada hal penting yang perlu diketahui dalam menampilkan citra kedalam axes, yakni kita perlu menentukan terlebih dahulu uicontrol axes mana yang aktif sekarang, kemudian baru menggunakan fungsi imshow( ). Berikut ini adalah script menampilkan file gambar ke dalam axes.

set(proyek.fighistogram,’currentAxes’,proyek.axes1); set(imshow(I));

Fungsi imfinfo(namafile) digunakan untuk memberikan informasi gambar suatu file grafik.

Fungsi get( ) digunakan untuk mengambil data yang tersimpan pada proferties Userdata di suatu uicontrol. Fungsi figure digunakan untuk membuat figure baru. Fungsi subplot(baris,kolom,ke) digunakan untuk membagi figure menjadi beberapa axes dan memplot pada suatu axes.

respon=keluar(‘Title’,'Konfirmasi Keluar’);

Perintah di atas digunakan untuk memanggil fungsi M-file,yaitu keluar.m, dengan keluaran beberapa nilai “Ya atau “Tidak” dan disimpan dalam variabel respons. Untuk tampilan keluar.m, kita merancang figure dengan nama keluar.fig

Desain Figure Keluar.fig

mendesain figure keluar dapat dilakukan dengan berbagai macam cara. Langkah awalnya sebagai berikut:

  1. Pada jendela MATLAB, kliklah File->New->GUI
  2. setelah keluar jendela GUIDE Quick Start, pilihlah Modal Question Dialog
  3. Berikan tanda cheaklist pada Save on startup as.
  4. Simpan figure dengan nama “keluar” di folder yang sama dengan figure Histogram.fig. Untuk memilih folder kliklah Browse.
  5. setelah klik OK,maka figure keluar.fig akan tampil agar sesuai dengan kebutuhan, kita perlu memodifikasi properti beberapa komponen.
  6. setelah kita melakukan modifikasi, figure keluar.fig akan menjadi seperti gambar berikut. Perlu diingat, simpanlah hasil pekerjaan kita, File->Save.

Setelah desain figure selesai, langkah selanjutnya adalah menjalankan aplikasi Histogram.fig. Untuk menjalankan aplikasi dari jendela Figure, tekanlah CTRL+T atau klik Tool->Run. Untuk menjalankan aplikasi dari jendela Editor, klik F5 atau Debug->Run. Untuk menjalankan aplikasi dari Command window, ketik Histogram lalu Enter.

Langkah-langkah menjalankan aplikasi Histogram adalah:

  1. Bukalah citra dengan mengklik Browse. Kemudian,pilih file citra yang akan dibuka.
  2. JIka kamu hendak melihat Histogram, maka kliklah Histogram.
  3. Jika kamu hendak membuka citra yang baru, ulangi langkah 1.
  4. JIka kamu hendak keluar dari aplikasi, mka pengguna dapat mengklik tombol Keluar. Tampilan hasil Histogram dari experiment tersebut dapat dilihat pada Gambar dibawah ini:

http://pooh45.files.wordpress.com/2008/11/histogram6.jpg
http://pooh45.files.wordpress.com/2008/11/grafik1.jpg

Post a Comment