You are on page 1of 5

March 3, 2012

[DIGITAL IMAGE PROCESSING]

GAUSSIAN FUNCTION FOR SMOOTHING IMAGE

Jika gaussian bisa digunakan untuk penghalusan kurva 1 dimensi (curve smoothing), maka dia juga bisa digunakan untuk matriks 2 dimensi atau citra digital. Tujuannya adalah menghaluskan citra, dan tentu saja dengan perannya sebagai filter maka gaussian bisa digunakan untuk menyaring citra dari derau. Gaussian biasa digunakan sebagai pelengkap pada pra-pengolahan citra. Misalnya saja jika kita ingin melakukan deteksi tepi pada sebuah citra digital dengan menggunakan Laplacian. Ternyata dalam citra tersebut terdapat derau (noise) yang sangat dapat mempengaruhi kinerja dari Laplacian karena sifat sensitifnya terhadap derau. Lalu dengan menggunakan Gaussian, kita bisa menapis derau pada citra yang menghasilkan citra baru dengan kualitas lebih halus. Metode ini lebih lanjut disebut sebagai LoG (Laplacian of Gaussian) yang akan dibahas pada artikel lainnya. Itu hanya salah satu contoh pemanfaatan gaussian. Gaussian dua dimensi memiliki bentuk formula: 1 2

, Dengan koefisien normalisasi

= .

Gaussian 2 dimensi memiliki bentuk kurva sebagai berikut

{janshendry@gmail.com[ee&it of UGM, Indonesia]}

March 3, 2012

[DIGITAL IMAGE PROCESSING]

Fungsi Gaussian 2 dimensi pada dasarnya membentuk sebuah jendela yang akan dikonvolusikan dengan citra yang ingin diolah. Dengan dasar bahwa citra digital merupakan diskrit maka sebenarnya kita bisa menggunakan matriks gaussian dengan ukuran yang bervariasi. Matriks tersebut nilainya bisa saja seperti ini:

Atau

Programnya adalah
clear all; close all; clc; % filename='sample.png'; filename='dataimage.jpg'; %% baca citra I=imread(filename); I=rgb2gray(I); imshow(I); title('Original Image'); I=single(I); %% %% gaussian 2 dimensi s=3; % standar deviasi x=[5 5]; % ukuran jendela jendela=(x-1)/2; m=0; % nilai rerata berada di origin [X,Y]=meshgrid(-jendela(2):jendela(2),-jendela(1):jendela(1)); % gaussian dengan koefisien normalisasi koef=(1/(2*s*s*pi)); % koef=1; G=koef*exp(-(((X-m).^2+(Y-m).^2)/(2*(s^2))));
{janshendry@gmail.com[ee&it of UGM, Indonesia]}

March 3, 2012

[DIGITAL IMAGE PROCESSING]

sumG=sum(G(:)); if sumG~=0 G=G/sumG; end ress=conv2(I,G,'same'); % hasil=imfilter(I,h,'symmetric'); ress=uint8(ress); figure, imshow(ress); title('Smoothing using Gaussian'); %% %% matlab toolbox h=fspecial('gaussian',[5 5],3); hasil=conv2(I,h,'same'); % hasil=imfilter(I,h,'symmetric'); hasil=uint8(hasil); figure, imshow(hasil); title('Smoothing using Matlab Toolbox'); %% %% beda antara gaussian sendiri dengan toolbox disp('Bedanya : '); beda=ress-hasil; disp(sum(beda(:))); %%

Hasil eksekusi dari programnya Citra Asli (RGB)

Sources: http://bilinick.blogspot.com/2011/02/charlie-brown-cartoon-photos.html

{janshendry@gmail.com[ee&it of UGM, Indonesia]}

March 3, 2012

[DIGITAL IMAGE PROCESSING]

{janshendry@gmail.com[ee&it of UGM, Indonesia]}

March 3, 2012

[DIGITAL IMAGE PROCESSING]

Beberapa hal yang perlu diketahui mengenai smoothing adalah Pererataan melemahkan derau (varians menjadi lebih kecil) sehingga estimasi terhadap piksel menjadi lebih akurat. Keakuratan estimasi piksel dengan menggunakan gaussian tidak lebih akurat dibanding dengan keakuratan menggunakan rerata dari piksel tetangga tapi bisa saja tidak sesuai dengan keinginan kita. Hal ini akan kita coba bahas pada BOX FILTER pada artikel lain. Mampu menghilangkan banyak derau pada citra tetapi tidak begitu pada objek atau bagian penting dari citra, misalnya pada gradient yang kita butuhkan untuk deteksi tepi dari obyek citra. Cara kerja dari Gaussian adalah Gaussian diberi rerata nol sehingga terpusat di pusat origin. Bobot terbesar diberikan pada pusat dari matriks gaussian, ingat dalam citra kita menggunakan gaussian 2 dimensi. Semakin jauh piksel dari pusat gaussian, semakin kecil nilai bobotnya. Pengaruh dari gaussian sendiri sangat dipengaruhi oleh nilai dari varians ( ).

Okay, tentang gaussian telah dijelaskan secara singkat walaupun mungkin tidak terlalu detil. Tapi semoga bisa memberikan sedikit informasi kepada pembaca.

@ thanks...

{janshendry@gmail.com[ee&it of UGM, Indonesia]}

You might also like