Curve Smoothing Using Gaussian Function
-
Upload
jans-hendry -
Category
Documents
-
view
117 -
download
0
Transcript of Curve Smoothing Using Gaussian Function
5/14/2018 Curve Smoothing Using Gaussian Function - slidepdf.com
http://slidepdf.com/reader/full/curve-smoothing-using-gaussian-function 1/3
[image processing] March 13, 2012
[[email protected]{ee&it ugm, indonesia}] Page 1
CURVE SMOOTHING USING GAUSSIAN FUNCTION
Dalam artikel ini kita akan membahas bagaimana fungsi gaussian dapat digunakan untuk
menghaluskan sebuah kurva 1 dimensi. Teori tentang gaussian sendiri sudah diberikan pada
artikel yang lain. Gaussian memiliki rumus sebagai berikut:
=1
2
Dengan
merupakan koefisien normalisasinya.
Gaussian memiliki bentuk grafik beserta profile seperti di bawah ini:
Sources: Naïve Image Smoothing: Gaussian Blur (Sylvain Paris – Adobe )
Tampak bahwa dengan menggunakan Gaussian maka nilai bobot akan diberikan ditengah
sebagai nilai terbesar sementara nilai tetangga menjadi lebih kecil. Hal ini membuat derau pada
isyarat (signal) setelah dilewatkan gaussian akan memiliki derau yang amplitudonya menjadi
lebih kecil. Istilahnya gaussian ini centered weighted dengan catatan nilai mean (rerata) adalah
nol.
Ketika kita mengaplikasikan fungsi gaussian terhadap sebuah isyarat, maka kita menggunakan
konvolusi, bila datanya berupa 1 dimensi maka konvolusi 1 dimensi dapat digunakan
sebaliknya jika data berupa matriks maka gunakan konvolusi 2 dimensi. Gaussian pada
dasarnya merupakan low-pass filter.
Gaussian memiliki unjuk kerja yang ditentukan oleh nilai varians () atau standar deviasinya
().
5/14/2018 Curve Smoothing Using Gaussian Function - slidepdf.com
http://slidepdf.com/reader/full/curve-smoothing-using-gaussian-function 2/3
[image processing] March 13, 2012
[[email protected]{ee&it ugm, indonesia}] Page 2
Programnya adalah
clear all;
close all;
clc;
%% buat data sebuah isyarat dengan derau
% sinusiodal
% t=-2*pi:1/1000:2*pi;
% y=cos(t);
% kotak
y=[zeros(1,100),ones(1,100)];
plot(y,'g'); hold on;
rnd=rand(1,length(y(101:200)));
y(101:200)=y(101:200)+rnd;
plot(y,'r-','LineWidth',2); hold on;
%% gaussian 1 dimensi s=3; % standar deviasi
x=9; % ukuran jendela
jendela=(x-1)/2;
m=0; % nilai rerata berada di origin
X=-jendela:jendela;
% gaussian dengan koefisien normalisasi
koef=(1/sqrt(2*s*s*pi));
G=koef*exp(-((X-m).^2/(2*(s^2))));
sumG=sum(G(:));
if sumG~=0
G=G/sumG;
end ress=conv(y,G,'same');
% ress=imfilter(y,G,'symmetric');
plot(ress,'b'); hold on;
title('Curve Smoothing with Gaussian');
xlabel('x');
ylabel('Amplitude');
%%
%% matlab toolbox
h=fspecial('gaussian',[1 9],3);
hasil=conv(y,h,'same');
% hasil=imfilter(y,h,'symmetric'); % plot(hasil,'k'); hold off;
%%
%% beda antara gaussian sendiri dengan toolbox
disp('Bedanya : ');
beda=ress-hasil;
disp(sum(beda));
%%
5/14/2018 Curve Smoothing Using Gaussian Function - slidepdf.com
http://slidepdf.com/reader/full/curve-smoothing-using-gaussian-function 3/3
[image processing] March 13, 2012
[[email protected]{ee&it ugm, indonesia}] Page 3
Hasil eksekusi dari program di atas adalah
Kurva Gaussiannya adalah
Dalam program di atas, anda bisa melakukan pengubahan terhadap nilai standar deviasi (s) dan
juga panjang datanya. Anda akan melihat bahwa hasil filter akan berbeda-beda. Dengan
demikian gaussian benar terbukti bisa melakukan smoothing terhadap kurva 1 dimensi.