Halo sobat Sidat.ID, bagaimana kabar sobat semua ? semoga selalu dalam keadaan sukses dan sehat ya. Kali ini kita akan membahas tutorial pemrograman MATLAB yaitu Membuat Aplikasi Rotasi Gambar (Citra Digital) dengan Slider di GUI MATLAB. Jadi, bagaimana program ini akan bekerja ?
Secara sederhana , kita akan merotasi citra yang kita inputkan pada derajat tertentu. Derajat itu akan maksimal di 360 derajat, dan minimal di 0 derajat. Kemudian , penentuan derajat dari rotasi citra akan kita gunakan GUI Slider sebagai alat bantunya. Jadi user akan menggeser slider kekanan dan kekiri untuk melakukan rotasi citra. Tanpa berlama-lama lagi, yuk kita eksekusi programnya
Membuat User Interface dengan GUI MATLAB
Pertama, kita akan buat terlebih dahulu user interface yang akan menghubungkan user dengan program. Kita akan membuat tampilan yang sederhana untuk user dapat mengerti penggunaanya dengan mudah.
Sobat ketikkan "guide" di halaman kerja MATLAB. Selanjutnya sobat pilih "Blank GUI (Default)". Kalau sobat masih bingung cara memulainya, silahkan ketika pada tautan berikut ini : Cara Menampilkan Gambar di GUI Matlab.
Kedua, sobat tambahkan GUI Static Txt, AXIS, Edit Text, Button, dan juga Slider. Sobat bisa perhatikan pada gambar berikut ini sebagai contoh GUI-nya. Kalau sobat ingin membuat yang lainnya, silahkan sesuaikan dengan keinginan sobat.
Penjelasan GUI
- Tulisan ROTASI CITRA MENGGUNAKAN SLIDER adalah menggunakan Static text.
- Kotak Besar di Kiri adalah penampil Gambar / Citra Asli menggunakan AXES dengan nama tag axes1.
- Kotak besar di Kanan adalah penampil Gambar Hasil Rotasi mnggunakan AXES dengan nama tag axes2.
- Tombol Browse menggunakan button dengan nama tag pushbutton1. Berfungsi untuk menginputkan gambar dari direktori. Kemudian gambar akan tampil pada axes1.
- Path_gambar dibuat dengan Edit Text diberikan nama tag edit1. Berfungsi untuk menampilkan posisi dimana gambar tersebut diambil.
- Slider dibuat dengan nilai max = 360 dan nilai min = 0 diberikan nama tag slider1 dan enable = off. Fungisnya untuk memberikan nilai rotasi sebesar 0 sampai 360 pada citra asli. Kemudian hasilnya akan muncul pada axes2.
- Angka 0 dibuat menggunakan static text dan diberikan nama tag text3 serta Enable = inactiv.
Untuk memberi nama tag, merubah isi static text, memberi nilai slider sobat bisa melakukannya dengan cara :
- Double klik pada elemen GUI, atau
- Klik kanan pada elemen GUI dan pilih Property Inspector.
Penempatan Code Program
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
global image_op;
[namafile, formatfile] = uigetfile('*.png; *.bmp; *.jpg', 'membuka gambar'); %memilih gambar
if formatfile == 0
return;
end
image_op = imread([formatfile, namafile]);
guidata(hObject, handles);
axes(handles.axes1);
imshow(image_op);
title('Gambar Asli');
%path gambar
image_path = fullfile(formatfile, namafile);
set(handles.edit1,'String', image_path);
set(handles.slider1,'Enable','on');
function slider1_Callback(hObject, eventdata, handles)
% hObject handle to slider1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'Value') returns position of slider
% get(hObject,'Min') and get(hObject,'Max') to determine range of slider
global image_op;
set(handles.slider1,'max',360);
set(handles.slider1,'min',0);
% max_min = get(handles.slider1,'value');
% citra = handles.data1;
% axes(handles.axes1)
% imshow(citra)
% title('gambar asli');
slider_value = get(handles.slider1,'value');
handles.slider_value = round(slider_value);
guidata(hObject,handles);
set(handles.text3,'string',handles.slider_value);
result_rotation = imrotate(image_op,handles.slider_value,'bilinear','crop');
handles.resut_rotation = result_rotation;
guidata(hObject,handles);
axes(handles.axes2);
imshow(result_rotation);
title('Hasil Rotasi Gambar');
Comentarios
Publicar un comentario
Si no puede verlo, puede ir a la pestaña Comentarios de CHAT para que podamos volver a subirlo.
Bienvenido a brindar críticas y sugerencias, siempre y cuando no use elementos de acoso y otros tipos de violencia. cuida tu habla y tus palabras, si eres un adulto. Bienvenido a comentar, cualquiera que sea su sugerencia sobre este blog, se lo agradezco.