Apa itu Konvolusi pada citra ?
Konvolusi adalah operator matematika yang penting untuk banyak operator dalam image
processing. Konvolusi menyediakan cara untuk menggabungkan dua array, biasanya untuk ukuran
array yang berbeda, tetapi untuk dimensi array yang sama, menghasilkan array ketiga yang
mempunyai dimensi yang sama. Konvolusi dapat digunakan dalam image processing untuk
menerapkan operator yang mempunyai nilai output dari piksel yang berasal dari kombinasi linear nilai
input piksel tertentu.
Konvolusi citra digital adalah tehnik untuk menghaluskan suatu citra atau memperjelas citra
dengan
menggantikan nilai piksel dengan sejumlah nilai piksel yang
sesuai atau berdekatan dengan piksel aslinya. Tetapi dengan adanya
konvolusi, ukuran dari citra tetap sama, tidak berubah.
Sumber: Penerapan konvolusi pada pengolahan citra digital
Konvolusi memiliki dua buah fungsi f(x) dan g(x) yang didefinisikan sebagai berikut:
h(x)=f(x)*g(x)=
yang dalam hal ini, tanda (*) menyatakan operator konvolusi dan peubah (variable) adalah peubah bantu.
Untuk
pengolahan citra, operasi yang dilakukan adalah diskrit karena nilai
koordinat piksel merupakan nilai yang diskrit. Selanjutnya filter atau
mask yang digunakan pada pengolahan citra biasanya berukuran terbatas,
dalam artian bobot atau pengaruh dari titik-titik yang cukup jauh sudah
tidak signifikan, sehingga dapat diabaikan (dianggap nol).
Bentuk diskrit dari operasi konvolusi satu dimensi pada pengolahan citra adalah:
h(x)=f(x)*g(x)=
Untuk fungsi dengan dua dimensi, operasi konvolusi didefinisikan sebagai berikut:
Untuk fungsi integral:
h(x,y) = f(x,y)*g(x,y) =
Untuk fungsi diskrit:
h(x,y) = f(x,y)*g(x,y) =
Fungsi
penapis g(x,y) disebut juga konvolusi filter, konvolusi mask, konvolusi
kernel, atau template. Dalam bentuk diskrit konvolusi kernel dinyatakan
dalam bentuk matriks (umumnya matriks 3x3). Ukuran matriks ini biasanya
lebih kecil dari ukuran citra. Setiap elemen matriks disebut koefisien
konvolusi.
Sumber : Konvolusi pada citra
Metode Filltering menggunakan teknik konvolusi pada citra
- Adaptive Local Filtering
- Konsep
Rumus Adaptif Filtering
Langkah pengerjaan
1. Tentukan nilai dari ukuran Window mxn
2. Hitung nilai matrix B dengan Gaussian Noise
3. Berikan nilai 0 pada seluruh sisi matrix B
4. Hitung nilai local dan selisih lokal dengan menggeser Window 3×3
nilai lokal = nilai(Window) = 0.4373
selisih lokal = nilai(Window²) – nilai(Window²) = 0.2394
5. Berikan nilai lokal ke matrix B
6. Berikan selisih lokal ke matrix B
7. Selisih dari semua noise adalah rata-rata dari selisih lokal, oleh karena itu selisih noise = 0.1709
8. Jika (selisih noise > nilai lokal (x,y)) maka nilai lokal (x,y) = selisih noise.
Berikut representasi posisi pixel (x,y) dalam 2 dimensi
9. Final Image = B – (selisih noise/selisih nilai lokal)(B-nilai lokal)
- Tujuan
Tujuan dari Adaptive Local Filtering adalah untuk memperbaiki gambar dengan menjadikan noise yang ada pada gambar memudar
- Penjelasan Input-Proses-Output
B = rgb2gray(A);
sz = size(B,1)*size(B,2);
%Add gaussian noise with mean 0 and variance 0.005
B = imnoise(B,’gaussian’,0,0.005);
figure,imshow(B); title(‘Image with gaussian noise’);
B = double(B);
%Define the window size mxn
M = 5;
N = 5;
%Pad the matrix with zeros on all sides
C = padarray(B,[floor(M/2),floor(N/2)]);
lvar = zeros([size(B,1) size(B,2)]);
lmean = zeros([size(B,1) size(B,2)]);
temp = zeros([size(B,1) size(B,2)]);
NewImg = zeros([size(B,1) size(B,2)]);
for i = 1:size(C,1)-(M-1)
for j = 1:size(C,2)-(N-1)
temp = C(i:i+(M-1),j:j+(N-1));
tmp = temp(:);
%Find the local mean and local variance for the local region
lmean(i,j) = mean(tmp);
lvar(i,j) = mean(tmp.^2)-mean(tmp).^2;
end
end
%Noise variance and average of the local variance
nvar = sum(lvar(:))/sz;
%If noise_variance > local_variance then local_variance=noise_variance
lvar = max(lvar,nvar);
%Final_Image = B- (noise variance/local variance)*(B-local_mean);
NewImg = nvar./lvar;
NewImg = NewImg.*(B-lmean);
NewImg = B-NewImg;
%Convert the image to uint8 format.\
NewImg = uint8(NewImg);
figure,imshow(NewImg);title(‘Restored Image using Adaptive Local filter’);
- Algoritma dan Flowchart
Algoritma sederhana dari Filter ini adalah setelah pengguna menjalankan source code filter maka selanjutnya pengguna diminta untuk memilih salah satu gambar untuk diolah. Setelah itu gambar tersebut akan diolah sesuai dengan source code filter ini. Hasilnya akan ditampilkan 2 gambar, citra sebelum di olah dan citra setelah diolah dengan filter ini.
- Konsep
- Tujuan
- Penjelasan Input-Proses-Output
Sistem image sharpening pada citra dibangun menggunakan Matlab berbasis GUI yang dapat dijalankan langsung pada GUI Matlab. Sistem ini terdiri dari interface dan fungsi-fungsi filter yang dipanggil pada saat memilih filter.Output yang ditampilkan citra asli beserta histogramnya, citra blur berserta nilai PSNR, MSE, dan histogramnya dan citra yang telah diperbaiki atau di sharpening beserta nilai PSNR, MSE dan histogramnya.
Pengamatan kualitatif dilakukan dengan membandingkan citra secara berjajar sehingga dapat dilihat seberapa baik kualitas output filter yang dihasilkan. Sedangkan pengamatan kuantitatif dilakukan dengan menganalisa nilai MSE dalam suatu grafik.
Sistem Keseluruhan sesuai dengan flowchart pada gambar 4.2 rancangan alur program utama adalah sebagai berikut :
1. Inputkan citra yang akan diuji.
2. Tampilkan citra asli dan histogramnya
3. Citra asli diblur4. Tampilkan citra asli yg telah di blur beserta PSNR, MSE, dan histogramnya
5. Pilih proses sharpening yang akan digunakan yang terdiri dari mask 3x3 yang nilainya berbeda-beda.
6. Tampil citra hasilsharpening beserta nilai PSNR, MSE dan histogramnya.
3. Gaussian Blur atau Gaussian Filter
- Konsep
- Tujuan
Gaussian Filter merupakan metode yang menggunakan tranformasi linear. Maksudnya Gaussian Filter menggunakan kombinasi linier dari nilai pixel yang berada dalam lingkup lokal.Dalam metode ini setiap pixel memiliki berat sendiri-sendiri. Nilai berat dari tiap pixel ditentukan dengan menggunakan Gaussian Distribution.Gaussian Distribution adalah cara agar kita dapat menentukan nilai mana yang paling berpengaruh (memiliki berat paling besar) dalam kumpulan data. Kumpulan data yang dimaksud dalam makalah ini adalah nilai dari pixel.
- Penjelasan Input-Proses-Output metode Gaussian Filter
for x := M to w-1-M do
for y := N to h-1-N do
begin
jumlah := 0;
for u := -M to M do
for v := -N to N do
jumlah := jumlah+Mask[u,v]*Ki[x-u,y-v];
Ko[x,y] := Round(jumlah);
end;
- Algoritma dan Flowchart
Pada proses ini dilakukan konvolusi antara matriks input dengan koefisien filter Gaussian. Proses konvolusi yang dilakukan adalah konvolusi 1 dimensi. Proses konvolusi ini akan dilakukan pada setiap kolom dari matriks citra 2D. Proses konvolusi merupakan salah satu proses yang penting karena proses ini juga merupakan proses yang mendasari perhitungan koefisien filter yang menjadi kunci utama dalam perbaikan citra ber-noise. Data yang dihasilkan dari proses konvolusi ini adalah matriks 1 dimensi (1 kolom, n baris). Urutan prosesnya dapat didefinisikan sebagai berikut :
1.Deklarasikan matrik masukan 1 dimensi dari proses sebelumnya.
2.Tentukan konstanta M dan N untuk menentukan batas konvolusi
3.Tentukan deviasi standar dengan menggunakan persamaan
4.Simpan matrik input pada memori sementara
5.Lakukan proses konvolusi matrik masukan
6.Simpan matrik hasil pada memori bitmap citra hasil
7.Dihasilkan matrik hasil filter Gaussian.
Perbedaaan masing-masing metode
1. Adaptive local filtering
Memperbaiki citra dengan memburamkan noise
2. Sharpener
Memperbaiki citra dengan mempertajam gambar
3. Gaussian Filtering
Memperbaiki citra dengan menburamkan gambar
Sumber referensi:
Comments
Post a Comment