RESTORASI CITRA
‘’DERAU ATAU NOISE”
8. Kemudian buatlah Axes1 pada lembar kerja, yang diletakkan pada tengah
Panel.
9. Karena kita akan menggunakan 3 axes, maka kita akan juga menggukan
3 panel, untuk mebuatnya lakukan langakah 7 dan 8 kembali atau dengan
cara menduplikat panel dan axesnya. Caranya yaitu dengan mengklik
panel pada lembar kerja (bukan Axes1), kemudian tekan tombol Ctrl+P
sebanyak 2 kali. Maka akan muncul axes2 dan axes3. Atur posisi axes
sesusai dengan keinginan kalian.
10. Selanjutnya menampilkan Push Button. Caranya klik tools Push Button.
11. Buatlah Push button pada lembar kerja.
12. Lakukan kembali langkah 11 untuk membuat Push button Lainnya, atau
dapat dengan menekan tombol Ctrl+D untuk menduplikate push button
13. Dapat pula ditambahkan panel pada push button, seperti pada gambar
berikut.
16. Lakukan langkah 15 untuk mengganti semua nama push button sesuai
dengan fungsi masing-masing yaitu: push button2 =
17. Selanjutnya yaitu dengan menggatin nama “Panel” pada axes dan push
button sesuai dengan nama fungsi masing-masing. Caranya yaitu dengan
mengklik icon “Property Inspector”, kemudian pilihh “Title”. Ubah panel
menjadi “RESTORASI CITRA” untuk panel pada Push Button.
18. Lakukan langkah 17 untuk mengubah semua nama panel. Dimana panel
axes1 diubah menjadi “CITRA ASLI”, panel axes2 menjadi “DERAU
DALAM CITRA”, dan panel axes3 menjadi “HASIL FILTER
PERERATAAN”.
19. Guide diatas dapat kalian kreasikan baik itu warna bacground, tulisan
dan sebagainya. Misalny seperti berikut ini.
21. Maka akan muncul jendela berikut ini. Simpan dengan nama “Restorasi
Citra” dan klik “SAVE”.
22. Apabila muncul jendela editor, langsung saja Close atau keluar untuk
keluar dari jendela editor.
b. Maka akan muncul jendela Editor yang langsung tertuju pada tempat
memasukkan Sintaks yaitu pada Push Button1. Dan sintaks akan di
tulis pada baris 81.
c. Masukkan sintaks berikut ini pada baris 81.
[name_file1,name_path1] = uigetfile(...
{'*.bmp;*.jpg;*.tif','Files of type
(*.bmp,*.jpg,*.tif)';
'*.bmp','File Bitmap (*.bmp)';...
'*.jpg','File jpeg (*.jpg)';
'*.tif','File Tif (*.tif)';
'*.*','All Files (*.*)'},...
'Open Image');
if ~isequal(name_file1,0)
handles.data1 =
imread(fullfile(name_path1,name_file1));
guidata(hObject,handles);
axes(handles.axes1);
imshow(handles.data1);
img1 = handles.data1;
F = rgb2gray(img1);
axes(handles.axes1);
imshow(F);
guidata(hObject,handles);
else
return;
end
d. Kemudian simpan dengan mengklik icon “Save”.
2. Menginput Sintaks pada Push button “Derau Gaussian”
a. Selanjutnya yaitu memasukan sintaks pada push button Derau
Gaussian. Caranya klik kanan pada Push Button Derau Gaussianpilih
View callback-Callback.
b. Maka akan mucul jendela editor yang lansung tertuju pada Push
Button2.
c. Sebelum memasukan sintaksnya, terlebih dahulu kita harus
menyimpan Function dari Gaussian pada Document dalam folder
Matlab, caranya yaitu dengan mengklik icon “New Script”.
d. Maka akan muncul lembar script yang baru
e. Masukan sintaks berikut pada Script tersebut.
function [G] = drgaussian(F, sigma, mu)
% DRGAUSSIAN Menghasilkan citra yang telah diberi derau
% menggunakan Gaussian.
% F = citra berskala keabuan
% sigma = standar deviasi fungsi Gaussian
% mu = rerata fungsi Gaussian
if nargin < 3
mu = 0; % Nilai bawaan mu
end
if nargin < 2
sigma = 1; % Nilai bawaan deviasi standar
end
[m, n] = size(F);
F = double(F);
for i=1 : m
for j=1 : n
derau = randn * sigma + mu;
G(i,j) = round(F(i, j) + derau);
if G(i,j) > 255
G(i,j) = 255;
elseif G(i,j) < 0
G(i,j) = 0;
end
end
end
G = uint8(G);
f. Kemudian klik icon “Save” untuk menyimpan Function tersebut
b. Maka akan mucul jendela editor yang lansung tertuju pada Push
Button4.
c. Sebelum memasukan sintaksnya, terlebih dahulu kita harus
menyimpan Function dari Gaussian pada Document dalam folder
Matlab, caranya yaitu dengan mengklik icon “New Script”.
d. Maka akan muncul lembar script yang bar
e. Masukan sintaks berikut pada Script tersebut.
function [G] = dreksponensial(F, a)
% DREKSPONENSIAL Menghasilkan citra yang telah diberi
derau
% menggunakan fungsi eksponensial negatif.
%
% Berdasarkan kode
% Rafael C. Gonzales, Richard E. Woods, dan
% Steven L. Eddins, 2004
%
% F = citra berskala keabuan
% varians = varians yang dikehendaki
if nargin ~= 2
error('Penggunaan: dreksponensial(F, a)');
end
if a <= 0
error('Parameter berupa sebarang bilangan > 0');
end
[m, n] = size(F);
F = double(F);
G = zeros(m, n);
for i=1 : m
for j=1 : n
derau = -1/a * log(1 - rand);
G(i,j) = round(F(i,j) + derau);
if G(i,j) > 255
G(i,j) = 255;
end
end
end
G = uint8(G);
f. Kemudian klik icon “Save” untuk menyimpan Function tersebut
3. Untuk memasukan citra klik Push Button Browser. Maka akan muncul
tampilan berikut. Pilih gambar yang akan di masukan kemudian
klik”Open”.
4. Maka gambar akan muncul pada Axes1
5. Untuk menampilkan hasil dari derau Gaussian, pilih Push Button Derau
Gaussian. Maka hasil dari gaussian akan muncul pada axes2 dan hasil
filter pererataan pada axes3.
6. Untuk menampilkan hasil dari derau Impuls, pilih Push Button Derau
Impuls. Maka hasil dari Impuls akan muncul pada axes2 dan hasil filter
pererataan pada axes3.
7. Untuk menampilkan hasil dari derau Eksponensial, pilih Push Button Derau
Eksponensial. Maka hasil dari eksponensial akan muncul pada axes2 dan
hasil filter pererataan pada axes3.