Konvolusi image dengan matlab

0 Comment


Konvolusi Image dengan Matlab

Konvolusi adalah salah satu proses filtering image yang sering dilakukan pada proses pengolahan gambar. Pada MATLAB terdapat banyak sekali cara yang dapat dilakukan untuk melakukan proses konvolusi. Proses konvolusi dilakukan dengan menggunakan matriks yang biasa disebut mask yaitu matriks yang berjalan sepanjang proses dan digunakan untuk menghitung nilai representasi local dari beberapa piksel pada image.
Contoh implementasi konvolusi ini yaitu:

gambar=imread('love.jpg');
mask = [-1 -1 -1; -1 8 -1; -1 -1 -1];
gray=rgb2gray(gambar);
thresh=graythresh(gray);
imbw=im2bw(gray,thresh);
hasil=conv2(double(imbw),mask,'valid');
imshow(gambar)
figure, imshow(hasil)

Hasil:



Penjelasan :

Fungsi penapis g(x,y) disebut convolution filter, convolution mask, Convolution kernel, atau template. Dlm domain diskret kernel konvolusi dinyatakan dlm btk matriks (umumnya 3 x 3, namun ada jg yg berukuran 2x2 atau 2x1 atau 1x2 Ukuran matriks biasanya lebih kecil dr ukuran citra. Setiap elemen matriks disebut koefisien konvolusi T 1 T 2 T 4 T 8 T 7 T 3 T 6 T 5 T 9 A B D H G C F E I Kernel Citra f(i,j) f(i,j)= AT 1 + BT 2 + CT 3 + DT 4 + ET 5 + FT 6 + GT 7 + HT 8 + IT 9
Contoh: Citra f(x,y) berukuran 5x5 dan sebuah kernel ukuran 3x3 sbb: Lakukan operasi konvolusi antara citra f(x,y) dgn kernel g(x,y) f(x,y)*g(x,y)= ??????? f(x,y) = 4 3 5 4 6 6 5 5 2 5 6 6 6 2 6 7 5 5 3 3 5 2 4 4 g(x,y)= 0 -1 0 -1 4 -1 0 -1 0 Posisi (0,0) dr kernel
Pixel-pixel pinggir diabaikan, tdk dikonvolusi (tetap). Duplikasi elemen citra, misalnya elemen kolom pertama disalin ke kolom M+1, begitu sebaliknya. Elemen kosong diasumsikan 0. Catatan: Ada masalah untuk pinggiran citra, hal ini dpt diatasi dgn cara: Dpt dilihat bhw operasi konvolusi merupakan komputasi pd aras lokal, krn komputasi utk suatu pixel pd citra keluaran melibatkan pixel-pixel tetangga pd citra masukannya. Konvolusi berguna pd proses pengolahan citra al: Perbaikan kualitas citra Penghilangan derau Penghalusan/pelembutan citra Deteksi tepi, penajaman tepi dll Contoh: lakukan konvolusi suatu citra foto hitam putih Anda dgn penapis Gaussian utk mempertajam tepi-tepi di dlm citra. Penapis Gaussian adalah sebuah mask berukuran 3x3
Operasi konvolusi dilakukan perpixel & untuk setiap pixel dilakukan operasi perkalian dan penjumlahan, shg memerlukan komputasi yg besar. Jk citra berukuran NxN & kernel mxm, mk jumlah perkalian dlm orde N 2 m 2 Contoh: jk citra 512x512 & kernel 16x16 mk ada sekitar 32juta perkalian, tdk cocok untuk proses real time. Suatu cara mengurangi wkt komputasi adalah mentransformasi citra dan kernel ke dlm domain frekuensi dlm hal ini Transf. Fourier Keuntungan penggunaan domain frekuensi adalah proses konvolusi dpt diterapkan dlm btk perkalian langsung. g(x,y)= 1 2 1 2 4 2 1 2 1
 
|Materi bisa di download disini|

0 Comment:

Poskan Komentar

_Pasopati 2010 UYP™

Copyright 2011 Designing a dream come true.
Blogger Templates By:Noct.