kita menggunakan matlab 7 karena pada matlab 7 sudah menyediakan fasilitas GUI.
langusng saja buka matlab 7 anda, kemudian pilih file> new> GUI
pertama kita akan membuat menu dengan menu editor.
pada tampilan GUI klik icon menu editor.
setelah keluar jendela menu editor buat sebuah menu dengan
label "open". Accelerator nya Ctrl + O ganti
tag nya menjadi
"buka"
buat menu baru
label "save". Accelerator nya Ctrl + S ganti tag nya menjadi "simpan"
buat 1 menu lagi dengan
label "exit" tag "keluar", klik ok jika anda sudah selesai membuat menu.
langkah selanjutnya adalah membuat static text dan ubah property nya dengan melakukan double click.
text1 ubah string : "Program Aplikasi untuk Merotasi Citra"
text2 ubah string : "Citra Asli"
text3 ubah string : "Citra Hasil Rotasi"
text4 ubah string : "Derajat Rotasi"
untuk tag nya biarkan saja default text1, text2 dll. guna tag yaitu untuk di function nya nanti. jadi ketika kita ingin memberi aksi pada text1 kita tinggal menambahkan kode pada function text1
Kemudian buat
2 axes.
buat
1 edit text
terakhir buat
slider ubah propery min nya 1.0 dan max 360.0
susun sehingga seperti ini
simpan file anda dan secara otomatis anda akan mendapatkan file dengan extensi .m
selesai untuk GUI sekarang kita ke programming, bukalah file .m anda.
cari
function slider1_Callback(hObject, eventdata, handles)
tambahkan koding berikut
% get(hObject,'Min') and get(hObject,'Max') to determine range of slider
nilai_slider = get(handles.slider1,'Value');
handles.nilai_slider=round(nilai_slider);
guidata(hObject,handles);
set(handles.edit1,'String',handles.nilai_slider);
hasil = imrotate(handles.data1,handles.nilai_slider,'bilinear','crop');
handles.hasil=hasil;
guidata(hObject,handles);
axes(handles.axes2);
imshow(hasil);
kemudian cari
function buka_Callback(hObject, eventdata, handles)
tambahkan
[nama_file1, nama_path1]=uigetfile(...
{'*.bmp;*.jpg','File Citra (*.bmp,*.jpg)';
'*.bmp','File Bitmap (*.bmp)';...
'*.jpg','File jpeg (*.jpg)';
'*.*','Semua File (*.*)'},...
'Buka File Citra Host/Asli');
if ~isequal(nama_file1, 0)
handles.data1=imread(fullfile(nama_path1,nama_file1));
guidata(hObject,handles);
handles.current_data1=handles.data1;
axes(handles.axes1);
imshow(handles.current_data1);
axes(handles.axes2);
imshow(handles.current_data1);
else
return;
end
selanjutnya pada bagian
function simpan_Callback(hObject, eventdata, handles)
[nama_file_simpan, path_simpan]=uiputfile(...
{'*.bmp','file citra (*.bmp)';
'*.bmp','citra bmp (*.bmp)';...
'*.*','Semua File (*.*)'},...
'Menyimpan Citra Hasil Rotasi');
imwrite(handles.hasil,fullfile(path_simpan,nama_file_simpan),'BMP');
function keluar_Callback(hObject, eventdata, handles)
selection = questdlg(['Tutup ' get(handles.figure1,'Name') '?'],...
['Tutup ' get(handles.figure1,'Name') '...'],...
'Ya','Tidak','Ya');
if strcmp(selection,'Tidak')
return;
end
delete(handles.figure1)
selesai jalankan aplikasi dengan mengklik Run.
download sourcenya disini..