• Tidak ada hasil yang ditemukan

Perbandingan Weighted Mean Filtering Dan Harmonic Mean Filtering Dalam Mereduksi Rayleigh Noise Dan Gamma Noise Pada Citra Digital

N/A
N/A
Protected

Academic year: 2017

Membagikan "Perbandingan Weighted Mean Filtering Dan Harmonic Mean Filtering Dalam Mereduksi Rayleigh Noise Dan Gamma Noise Pada Citra Digital"

Copied!
12
0
0

Teks penuh

(1)

LISTING PROGRAM

// Source Code form utama.m

function varargout = utama(varargin)

% Begin initialization code - DO NOT EDIT

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @utama_OpeningFcn, ...

'gui_OutputFcn', @utama_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

% End initialization code - DO NOT EDIT

% --- Executes just before utama is made visible.

function utama_OpeningFcn(hObject, eventdata, handles, varargin) citra=imread('fasilkom-TI.jpg');

axes(handles.logo_fklts); imshow(citra);

% Choose default command line output for utama

handles.output = hObject;

% Update handles structure

guidata(hObject, handles);

% --- Executes on button press in pushbutton1.

function pushbutton1_Callback(hObject, eventdata, handles)

desc

close utama;

% --- Executes on button press in pushbutton2.

function pushbutton2_Callback(hObject, eventdata, handles)

(2)

// Source Code form pengujian.m

function varargout = pengujian(varargin)

% Begin initialization code - DO NOT EDIT

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @pengujian_OpeningFcn, ...

'gui_OutputFcn', @pengujian_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

% End initialization code - DO NOT EDIT

% --- Executes on button press in tombolbuka1.

%function tombolbuka1_Callback(hObject, eventdata, handles) function varargout = tombolbuka1_Callback(hObject, eventdata, handles) %variabel_keluaran

[nama_file, namaPath]=uigetfile({'*.bmp'},'Buka File');

if ~isequal (nama_file,0)

handles.citra=imread(fullfile(namaPath,nama_file)); guidata(hObject,handles);

axes(handles.axes_asli); imshow(handles.citra);

else

return;

end

% --- Executes on button press in tombol_gsc.

function tombol_gsc_Callback(hObject, eventdata, handles) I = handles.citra ;

%I_noise = rgb2gray(I);

citra_double = double(I); [b k c]= size(citra_double);

for x=1:b

for y=1:k

semua =

citra_double(x,y,1)+citra_double(x,y,2)+citra_double(x,y,3); gr(x,y)=semua / 3;

end end

gr = uint8(gr);

(3)

% --- Executes on button press in tombol_noise1. Gamma Noise function tombol_noise1_Callback(hObject, eventdata, handles)

I = getimage(handles.axes_gsc); [m, n] = size(I);

a = 2;

b = str2double(get(handles.txt_gam,'string'))*7;

alpha = b;

% --- Executes on button press in tombol_noise2.Rayleigh Noise function tombol_noise2_Callback(hObject, eventdata, handles)

I = getimage(handles.axes_gsc); a = 1;

b = str2double(get(handles.txt_ray,'string'))*7; [m, n] = size(I);

% --- Executes on button press in button_save1.

function button_save1_Callback(hObject, eventdata, handles) S = getimage(handles.axes_gamma);

[nama_save_file, path_save]=uiputfile('*.jpg','Simpan Citra'); nama_file_simpan=fullfile(path_save,nama_save_file);

(4)

% --- Executes on button press in button_save2.

function button_save2_Callback(hObject, eventdata, handles)

S = getimage(handles.axes_ray);

[nama_save_file, path_save]=uiputfile('*.jpg','Simpan Citra');

nama_file_simpan=fullfile(path_save,nama_save_file); imwrite(S,nama_file_simpan,'jpg');

% --- Executes on button press in btnWeight.

function btnWeight_Callback(hObject, eventdata, handles)

global runtime; runtime=cputime; disp('ongoing');

if strcmp(handles.noise, 'radio_gamma');

noise_image = getimage(handles.axes_gamma);

else

noise_image = getimage(handles.axes_ray);

end

G = wmfilter(noise_image,handles); disp('end');

axes(handles.axes_weighted); imshow(G);

runtime=cputime-runtime;

set(handles.txt_runtime_weighted,'String',runtime);

% --- Executes on button press in btnHarmonic.

function btnHarmonic_Callback(hObject, eventdata, handles)

global runtime; runtime=cputime; disp('ongoing');

if strcmp(handles.noise, 'radio_gamma');

noise_image = getimage(handles.axes_gamma);

else

noise_image = getimage(handles.axes_ray);

end

G = hrmfilter(noise_image,handles); disp('end');

axes(handles.axes_harmonic); imshow(G);

runtime=cputime-runtime;

set(handles.txt_runtime_harmonic,'String',runtime);

function G = wmfilter(myimage,handles) array_bobot = [1 2 1; 2 3 2; 1 2 1]; jumlah_bobot = sum(sum(array_bobot)); myimage = uint8(myimage);

[m, n] = size(myimage); ukuran = 3;

setengah = floor(ukuran / 2); I = double(myimage);

G = zeros(m,n);

(5)

end

pixel_hasil = jum_meanL / jumlah_bobot; G(i, j) = pixel_hasil;

end end

G = uint8(G);

function G = hrmfilter(myimage,handles)

myimage = uint8(myimage); [m, n] = size(myimage); ukuran = 3;

pembilang = ukuran * ukuran; setengah = floor(ukuran / 2); I = double(myimage);

G = zeros(m,n);

for i=1+setengah : m-setengah for j=1+setengah: n-setengah jum_mean = 0;

% penjumlahan total submatriks * bobot

for p = -setengah : setengah %citrahasil

for q = -setengah : setengah

jum_mean = jum_mean + (1 / I(i+p, j+q)); end

end

pixel_hasil = pembilang / jum_mean; G(i, j) = pixel_hasil;

end end

G = uint8(G); disp(G);

% --- Executes on button press in pushbutton11.

function pushbutton11_Callback(hObject, eventdata, handles) utama

close pengujian;

% --- Executes when selected object is changed in uipanel10.

function uipanel10_SelectionChangeFcn(hObject, eventdata, handles) handles.noise = get(eventdata.NewValue, 'Tag');

guidata(hObject, handles);

% --- Executes during object creation, after setting all properties. function uipanel10_CreateFcn(hObject, eventdata, handles)

handles.noise = 'radio_gamma'; guidata(hObject, handles);

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

(6)

% --- Executes on button press in button_mse2.

function button_mse2_Callback(hObject, eventdata, handles)

citra = getimage(handles.axes_gsc); citra_hasil=getimage(handles.axes_ray);

mse = (double(citra)- double(citra_hasil)) .^ 2; [m n] = size(citra_hasil);

nilai = sum(mse(:)) / (m * n); set(handles.txt_mse2,'String',nilai);

% --- Executes on button press in button_psnr2.

function button_psnr2_Callback(hObject, eventdata, handles) citra = getimage(handles.axes_gsc);

citra_hasil=getimage(handles.axes_ray);

mse = (double(citra)- double(citra_hasil)) .^ 2; [m n] = size(citra_hasil);

nilai_mse = sum(mse(:)) / (m * n);

nilai_psnr = 10 * log10( 255^2 / nilai_mse); set(handles.txt_psnr2,'String',nilai_psnr);

% --- Executes on button press in button_mse.

function button_mse_Callback(hObject, eventdata, handles)

citra = getimage(handles.axes_gsc);

citra_hasil=getimage(handles.axes_gamma);

mse = (double(citra)- double(citra_hasil)) .^ 2; [m n] = size(citra_hasil);

nilai = sum(mse(:)) / (m * n); set(handles.txt_mse,'String',nilai);

% --- Executes on button press in button_psnr.

function button_psnr_Callback(hObject, eventdata, handles) citra = getimage(handles.axes_gsc);

citra_hasil=getimage(handles.axes_gamma);

mse = (double(citra)- double(citra_hasil)) .^ 2; [m n] = size(citra_hasil);

nilai_mse = sum(mse(:)) / (m * n);

nilai_psnr = 10 * log10( 255^2 / nilai_mse); set(handles.txt_psnr,'String',nilai_psnr);

% --- Executes on slider movement.

function prob_gamma_Callback(h, eventdata, handles) nilai_prob = get(handles.prob_gamma,'value');

handles.nilai_prob = round(nilai_prob); guidata(h,handles);

set(handles.txt_gam, 'string',handles.nilai_prob);

% --- Executes during object creation, after setting all properties. function prob_gamma_CreateFcn(hObject, eventdata, handles)

% hObject handle to prob_gamma (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called

% Hint: slider controls usually have a light gray background. if isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 .9 .9]);

(7)

% --- Executes on slider movement.

function prob_ray_Callback(h, eventdata, handles)

nilai_prob = get(handles.prob_ray,'value'); handles.nilai_prob = round(nilai_prob); guidata(h,handles);

set(handles.txt_ray, 'string',handles.nilai_prob);

% --- Executes during object creation, after setting all properties. function prob_ray_CreateFcn(hObject, eventdata, handles)

if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 .9 .9]);

end

% --- Executes during object creation, after setting all properties. function txt_ray_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white'); end

% --- Executes during object creation, after setting all properties. function txt_mse2_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function txt_psnr2_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

% --- Executes on button press in button_msehasil.

function button_msehasil_Callback(hObject, eventdata, handles) if strcmp(handles.noise, 'radio_gamma');

citra = getimage(handles.axes_gamma);

else

(8)

end

citra_hasil=getimage(handles.axes_weighted); mse = (double(citra)- double(citra_hasil)) .^ 2; [m n] = size(citra_hasil);

nilai = sum(mse(:)) / (m * n);

set(handles.txt_msehasil,'String',nilai);

function txt_msehasil_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

end

% --- Executes on button press in button_psnrhasil.

function button_psnrhasil_Callback(hObject, eventdata, handles) if strcmp(handles.noise, 'radio_gamma');

citra = getimage(handles.axes_gamma);

else

citra = getimage(handles.axes_ray);

end

citra_hasil=getimage(handles.axes_weighted); mse = (double(citra)- double(citra_hasil)) .^ 2; [m n] = size(citra_hasil);

nilai_mse = sum(mse(:)) / (m * n);

nilai_psnr = 10 * log10( 255^2 / nilai_mse); set(handles.txt_psnrhasil,'String',nilai_psnr);

% --- Executes during object creation, after setting all properties. function txt_psnrhasil_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

% --- Executes on button press in button_msehasil2.

function button_msehasil2_Callback(hObject, eventdata, handles)

if strcmp(handles.noise, 'radio_gamma'); citra = getimage(handles.axes_gamma);

else

citra = getimage(handles.axes_ray);

end

citra_hasil=getimage(handles.axes_harmonic); mse = (double(citra)- double(citra_hasil)) .^ 2; [m n] = size(citra_hasil);

nilai = sum(mse(:)) / (m * n);

set(handles.txt_msehasil2,'String',nilai);

% --- Executes on button press in button_psnrhasil2.

function button_psnrhasil2_Callback(hObject, eventdata, handles) if strcmp(handles.noise, 'radio_gamma');

citra = getimage(handles.axes_gamma);

(9)

citra = getimage(handles.axes_ray);

end

citra_hasil=getimage(handles.axes_harmonic); mse = (double(citra)- double(citra_hasil)) .^ 2; [m n] = size(citra_hasil);

nilai_mse = sum(mse(:)) / (m * n);

nilai_psnr = 10 * log10( 255^2 / nilai_mse); set(handles.txt_psnrhasil2,'String',nilai_psnr);

function txt_msehasil2_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function txt_psnrhasil2_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

% --- Executes on button press in pushbutton20.

function pushbutton20_Callback(hObject, eventdata, handles) S = getimage(handles.axes_weighted);

[nama_save_file, path_save]=uiputfile('*.jpg','Simpan Citra'); nama_file_simpan=fullfile(path_save,nama_save_file);

imwrite(S,nama_file_simpan,'jpg');

% --- Executes on button press in pushbutton21.

function pushbutton21_Callback(hObject, eventdata, handles) S = getimage(handles.axes_harmonic);

[nama_save_file, path_save]=uiputfile('*.jpg','Simpan Citra'); nama_file_simpan=fullfile(path_save,nama_save_file);

imwrite(S,nama_file_simpan,'jpg');

% --- Executes during object creation, after setting all properties. function txt_runtime_weighted_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white'); end

% --- Executes during object creation, after setting all properties. function txt_runtime_harmonic_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

(10)

// Source Code form desc.m

function varargout = desc(varargin)

% Begin initialization code - DO NOT EDIT

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @desc_OpeningFcn, ...

'gui_OutputFcn', @desc_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []); if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

% End initialization code - DO NOT EDIT

% --- Executes just before desc is made visible.

function desc_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;

% Update handles structure

guidata(hObject, handles);

% --- Outputs from this function are returned to the command line. function varargout = desc_OutputFcn(hObject, eventdata, handles)

% --- Executes on button press in pushbutton1.

function pushbutton1_Callback(hObject, eventdata, handles) utama

(11)

CURRICULUM VITAE

Wahyu Eko Putra

wahyudefa19

---

Data Pribadi

Nama

: Wahyu Eko Putra

Tempat/Tanggal Lahir : Padang / 19 April 1992

Tinggi/Berat Badan

: 168 cm / 88 kg

Agama

: Islam

Kewarganegaraan

: Indonesia

Alamat Sekarang

: Jl. Pembanguna USU gang Pribadi no 1. Medan Selayang

Alamat Orang Tua : Komplek Perumahan Taruko Permai IV blok G no 7. Bungo Pasang.

Koto Baru. Kota Padang

Telp/ Hp

: 085373875815

Email

: wahyuekoputra19@gmail.com

---

Riwayat Pendidikan

[2010

2015]

: S1 Ilmu Komputer Universitas Sumatera Utara, Medan

[2007

2010]

: SMA Negeri Agam Cendekia Maninjau, Sumatera Barat

[2004

2007]

: SMP PMT Prof. Dr. Hamka, Padang Pariaman, Sumatera Barat

[1998

2004]

: SD Negeri no. 28 Gurun Laweh. Padang, Sumatera Barat

---

Keahlian/Kursus

Keahlian Komputer

Pemrograman

: Java, C++, MATLAB

Database

: MysQL

(12)

---

Pengalaman Organisasi

[2008

2009] OSIS SMA Negeri Agam Cendekia

[2011

2012]

Anggota bidang Syi’ar (humas) BKM Al

- Khuwarizmi Ilmu Komputer 2011/2012

[2012

2013] Ketua bidang Sy

i’ar (humas) UKMI Al

- Khuwarizmi Ilmu Komputer 2012/2013

[2011

2012] Anggota IMILKOM 2011/2012

[2012

2013] Anggota IMILKOM 2012

2013

[2011

2012] Anggota bidang Kerohanian Islam IMIB USU

[2012

2013] Ketua bidang Kerohanian Islam IMIB USU

---

Pengalaman Kepanitiaan

[2010]

Anggota Seksi Perlengkapan Seminar I-Pear ILKOM

[2011]

Koordinator Dana PMB IMIB USU

[2012]

Ketua Panitia TRICK 6 UKMI Al-Khuwarizmi

---

Seminar

Referensi

Dokumen terkait

Artinya, konten pendidikan yang dirumuskan dalam Standar Kompetensi Lulusan dan dikembangkan dalam kurikulum harus menjadi dasar bagi peserta didik untuk dikembangkan dan

Hidup bersih dan sehat di tempat bermain. Hidup bersih dan sehat di tempat

Lirik lagu yang disusun sedemikian rupa membuat kita terlena dalam makna eksplisit, namun apabila kita kaji dengan menggunakan analisis semiotik, kita akan mendapatkan makna

Sehubungan dengan itu, Lembaga Penelitian Universitas Negeri Padang bekerjasama dengan Pimpinan Universitas, telah memfasilitasi peneliti untuk melaksanakan penelitian

*) kepada KPU Provinsi DKI Jakarta paling lambat 15 (lima belas) hari setelah pengumuman hasil survei atau jajak pendapat dan / atau penghitungan cepatb. Pengembalian

Setiap mahasiswa yang mengikuti ujian sertifikasi wajib membawa laptop dan modem (dapat digunakan) masing-masing3. Setiap mahasiswa yang mengikuti ujian sertifikasi wajib membawa

Sistem monitoring yang dimaksud pada penelitian ini adalah pengukuran tegangan dan arus sedangkan nilai daya dan faktor daya didapat dari hasil perhitungan menggunakan

Yohanes Indrayono/Iman Santoso, S.E.. Yohanes Indrayono/Iman