APLIKASI MATLAB UNTUK PENGOLAHAN CITRA
1.
Membaca Sebuah File Citra Langkah-langkah yang harus dilakukan : a. Siapkan sebuah figure yang akan digunakan b. Siapkan komponen yang akan digunakan yaitu dua buah pushbutton kemudian atur propertinya masing-masing yaitu : Nama Komponen
String Property
Tag Property
Pushbutton 1
Buka File Citra
Tombol_buka
Pushbutton 2
Tutup Aplikasi
Tombol_tutup
c. Buat tujuh buah static text kemudian atur propertinya sebagai berikut : Nama Komponen
String Property
Tag Property
Static text 1
Aplikasi Buka Citra
Text1
Static text 2
Kosongkan
Text2
Static text 3
Nama File :
Text3
Static text 4
Ukuran :
Text4
Static text 5
Kosongkan
Text5
Static text 6
Kosongkan
Text6
Static text 7
x
Text7
d. Siapkan pula sebuah axes sebagai tempat menampilkan citra,atur posisinya seperti contoh dan isikan propertinya sebagai berikut : Nama Komponen
XTick Property
YTick Property
Axes1
Kosongkan
Kosongkan
Diperoleh hasil desain seperti gambar 1 berikut :
Gambar 1. Desain Buka File Citra e. Simpan
dengan
nama
aplikasi_buka_citra
dan
akan
diperoleh
aplikasi_buka_citra.fig dan aplikasi_citra.m f. Secara otomatis akan dibuka file aplikasi_buka_citra.m g. Tambahkan beberapa kode pada rutin callback yang diperlukan,antara lain :
% --- Executes on button press in Open. function Open_Callback(hObject, eventdata, handles) % hObject handle to Open (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) [nama_file1,nama_path1] = uigetfile( ... {'*.bmp;*.jpg;*.tif','File Citra (*.bmp,*.jpg,*.tif)'; '*.bmp','File Bitmap (*.bmp)';... '*.jpg','File jpeg (*.jpg)'; '*.tif','File Tif (*.tif)'; '*.*','All Files (*.*)'},... 'Open Image'); if ~isequal(nama_file1,0) handles.data1 = imread(fullfile(nama_path1,nama_file1)); guidata(hObject,handles); handles.current_data1=handles.data1;
file
axes(handles.axes1); imshow(handles.current_data1); else return; end set(handles.text2,'String',nama_file1); set(handles.text5,'String',size(handles.data1,1)); set(handles.text6,'String',size(handles.data1,2)); % --- Executes on button press in Close. function Close_Callback(hObject, eventdata, handles) % hObject handle to Close (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) selection = questdlg(['Keluar '... get(handles.figure1,'Name') ' ?'],... ['Keluar '... get(handles.figure1,'Name') '...'],... 'Ya','Tidak','Ya'); if strcmp(selection,'Tidak') return; end delete(handles.figure1)
Setelah aplikasi dijalankan maka akan tampil sebagai berikut :
2. Menampilkan histogram Sebuah Citra Pada pengolahan citra digital,histogram memberikan informasi cukup penting tentang keberadaan pixel citra, apakah citra cenderung kea rah gelap atau kea rah terang. Dari histogram pula, dapat diketahui rata-rata pixel penyusunan citra. Untuk membuat aplikasi menampilkan histogram citra,sebenarnya hanya memodifikasi aplikasi pertama dan menambahkan satu axes untuk menampilkan histogramnya. Langkah-langkahnya sebagai berikut : a. Bukalah GUIDE dan pilih Exciting File, lalu dengan browse diaktifkan file aplikasi_citra.fig. File tersebut diedit untuk ditambah beberapa komponen dan propertinya. b. Pushbutton Tombol_buka dan Tombol_tutup tidak diedit. c. Property static text1 diedit sebagai berikut dan tambahkan dua buah static text baru dengan property sebagai berikut :
Nama komponen
String Property
Tag Property
Static text1
Contoh Aplikasi Histogram Citra
Text1
Static text8
Citra Asli
Text8
Static text9
Histogram
Text9
d. Tambahkan satu axes untuk menampilkan histogram dan isikan property nya sebagai berikut : Nama Komponen
XTick Property
YTick Property
Axes 2
Kosongkan
Kosongkan
e. Simpan file dengan nama baru yaitu aplikasi_citra_histogram.fig. f. Tambahkan
beberapa
kode
program
di
bawah
imshow
(handles.current_data1) pada function tombol_buka_Callback dengan : Axes(handles.axes2): Imhist(handles.current_data1);
Statemen axes(handles.axes2) berfungsi mengarahkan bahwa saat ini axes yang aktif adalah obyek axes 2. Kemudian statemen imhist (handles.current_data1); akan menampilkan sebuah histogram dari file
yang
dibuka
dan
dalam
handles.current_data1.
Bagaimana hasil tampilannya??
hal
ini
diwakili
oleh
variable